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: 3489 3553 98.2 %
Date: 2018-10-20 13:21:21 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       41931 : 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(0),
     545             :     UINT64_C(0),
     546             :     UINT64_C(0),
     547             :     UINT64_C(0),
     548             :     UINT64_C(0),
     549             :     UINT64_C(0),
     550             :     UINT64_C(0),
     551             :     UINT64_C(0),
     552             :     UINT64_C(0),
     553             :     UINT64_C(0),
     554             :     UINT64_C(0),
     555             :     UINT64_C(0),
     556             :     UINT64_C(0),
     557             :     UINT64_C(44040192), // ADCri
     558             :     UINT64_C(10485760), // ADCrr
     559             :     UINT64_C(10485760), // ADCrsi
     560             :     UINT64_C(10485776), // ADCrsr
     561             :     UINT64_C(41943040), // ADDri
     562             :     UINT64_C(8388608),  // ADDrr
     563             :     UINT64_C(8388608),  // ADDrsi
     564             :     UINT64_C(8388624),  // ADDrsr
     565             :     UINT64_C(34537472), // ADR
     566             :     UINT64_C(4088398656),       // AESD
     567             :     UINT64_C(4088398592),       // AESE
     568             :     UINT64_C(4088398784),       // AESIMC
     569             :     UINT64_C(4088398720),       // AESMC
     570             :     UINT64_C(33554432), // ANDri
     571             :     UINT64_C(0),        // ANDrr
     572             :     UINT64_C(0),        // ANDrsi
     573             :     UINT64_C(16),       // ANDrsr
     574             :     UINT64_C(130023455),        // BFC
     575             :     UINT64_C(130023440),        // BFI
     576             :     UINT64_C(62914560), // BICri
     577             :     UINT64_C(29360128), // BICrr
     578             :     UINT64_C(29360128), // BICrsi
     579             :     UINT64_C(29360144), // BICrsr
     580             :     UINT64_C(3776970864),       // BKPT
     581             :     UINT64_C(3942645760),       // BL
     582             :     UINT64_C(3778019120),       // BLX
     583             :     UINT64_C(19922736), // BLX_pred
     584             :     UINT64_C(4194304000),       // BLXi
     585             :     UINT64_C(184549376),        // BL_pred
     586             :     UINT64_C(3778019088),       // BX
     587             :     UINT64_C(19922720), // BXJ
     588             :     UINT64_C(19922718), // BX_RET
     589             :     UINT64_C(19922704), // BX_pred
     590             :     UINT64_C(167772160),        // Bcc
     591             :     UINT64_C(234881024),        // CDP
     592             :     UINT64_C(4261412864),       // CDP2
     593             :     UINT64_C(4118802463),       // CLREX
     594             :     UINT64_C(24055568), // CLZ
     595             :     UINT64_C(57671680), // CMNri
     596             :     UINT64_C(24117248), // CMNzrr
     597             :     UINT64_C(24117248), // CMNzrsi
     598             :     UINT64_C(24117264), // CMNzrsr
     599             :     UINT64_C(55574528), // CMPri
     600             :     UINT64_C(22020096), // CMPrr
     601             :     UINT64_C(22020096), // CMPrsi
     602             :     UINT64_C(22020112), // CMPrsr
     603             :     UINT64_C(4043440128),       // CPS1p
     604             :     UINT64_C(4043309056),       // CPS2p
     605             :     UINT64_C(4043440128),       // CPS3p
     606             :     UINT64_C(3774873664),       // CRC32B
     607             :     UINT64_C(3774874176),       // CRC32CB
     608             :     UINT64_C(3776971328),       // CRC32CH
     609             :     UINT64_C(3779068480),       // CRC32CW
     610             :     UINT64_C(3776970816),       // CRC32H
     611             :     UINT64_C(3779067968),       // CRC32W
     612             :     UINT64_C(52490480), // DBG
     613             :     UINT64_C(4118802512),       // DMB
     614             :     UINT64_C(4118802496),       // DSB
     615             :     UINT64_C(35651584), // EORri
     616             :     UINT64_C(2097152),  // EORrr
     617             :     UINT64_C(2097152),  // EORrsi
     618             :     UINT64_C(2097168),  // EORrsr
     619             :     UINT64_C(23068782), // ERET
     620             :     UINT64_C(246418176),        // FCONSTD
     621             :     UINT64_C(246417664),        // FCONSTH
     622             :     UINT64_C(246417920),        // FCONSTS
     623             :     UINT64_C(221252353),        // FLDMXDB_UPD
     624             :     UINT64_C(210766593),        // FLDMXIA
     625             :     UINT64_C(212863745),        // FLDMXIA_UPD
     626             :     UINT64_C(250739216),        // FMSTAT
     627             :     UINT64_C(220203777),        // FSTMXDB_UPD
     628             :     UINT64_C(209718017),        // FSTMXIA
     629             :     UINT64_C(211815169),        // FSTMXIA_UPD
     630             :     UINT64_C(52490240), // HINT
     631             :     UINT64_C(3774873712),       // HLT
     632             :     UINT64_C(3779068016),       // HVC
     633             :     UINT64_C(4118802528),       // ISB
     634             :     UINT64_C(26217631), // LDA
     635             :     UINT64_C(30411935), // LDAB
     636             :     UINT64_C(26218143), // LDAEX
     637             :     UINT64_C(30412447), // LDAEXB
     638             :     UINT64_C(28315295), // LDAEXD
     639             :     UINT64_C(32509599), // LDAEXH
     640             :     UINT64_C(32509087), // LDAH
     641             :     UINT64_C(4249878528),       // LDC2L_OFFSET
     642             :     UINT64_C(4241489920),       // LDC2L_OPTION
     643             :     UINT64_C(4235198464),       // LDC2L_POST
     644             :     UINT64_C(4251975680),       // LDC2L_PRE
     645             :     UINT64_C(4245684224),       // LDC2_OFFSET
     646             :     UINT64_C(4237295616),       // LDC2_OPTION
     647             :     UINT64_C(4231004160),       // LDC2_POST
     648             :     UINT64_C(4247781376),       // LDC2_PRE
     649             :     UINT64_C(223346688),        // LDCL_OFFSET
     650             :     UINT64_C(214958080),        // LDCL_OPTION
     651             :     UINT64_C(208666624),        // LDCL_POST
     652             :     UINT64_C(225443840),        // LDCL_PRE
     653             :     UINT64_C(219152384),        // LDC_OFFSET
     654             :     UINT64_C(210763776),        // LDC_OPTION
     655             :     UINT64_C(204472320),        // LDC_POST
     656             :     UINT64_C(221249536),        // LDC_PRE
     657             :     UINT64_C(135266304),        // LDMDA
     658             :     UINT64_C(137363456),        // LDMDA_UPD
     659             :     UINT64_C(152043520),        // LDMDB
     660             :     UINT64_C(154140672),        // LDMDB_UPD
     661             :     UINT64_C(143654912),        // LDMIA
     662             :     UINT64_C(145752064),        // LDMIA_UPD
     663             :     UINT64_C(160432128),        // LDMIB
     664             :     UINT64_C(162529280),        // LDMIB_UPD
     665             :     UINT64_C(74448896), // LDRBT_POST_IMM
     666             :     UINT64_C(108003328),        // LDRBT_POST_REG
     667             :     UINT64_C(72351744), // LDRB_POST_IMM
     668             :     UINT64_C(105906176),        // LDRB_POST_REG
     669             :     UINT64_C(91226112), // LDRB_PRE_IMM
     670             :     UINT64_C(124780544),        // LDRB_PRE_REG
     671             :     UINT64_C(89128960), // LDRBi12
     672             :     UINT64_C(122683392),        // LDRBrs
     673             :     UINT64_C(16777424), // LDRD
     674             :     UINT64_C(208),      // LDRD_POST
     675             :     UINT64_C(18874576), // LDRD_PRE
     676             :     UINT64_C(26218399), // LDREX
     677             :     UINT64_C(30412703), // LDREXB
     678             :     UINT64_C(28315551), // LDREXD
     679             :     UINT64_C(32509855), // LDREXH
     680             :     UINT64_C(17825968), // LDRH
     681             :     UINT64_C(7340208),  // LDRHTi
     682             :     UINT64_C(3145904),  // LDRHTr
     683             :     UINT64_C(1048752),  // LDRH_POST
     684             :     UINT64_C(19923120), // LDRH_PRE
     685             :     UINT64_C(17826000), // LDRSB
     686             :     UINT64_C(7340240),  // LDRSBTi
     687             :     UINT64_C(3145936),  // LDRSBTr
     688             :     UINT64_C(1048784),  // LDRSB_POST
     689             :     UINT64_C(19923152), // LDRSB_PRE
     690             :     UINT64_C(17826032), // LDRSH
     691             :     UINT64_C(7340272),  // LDRSHTi
     692             :     UINT64_C(3145968),  // LDRSHTr
     693             :     UINT64_C(1048816),  // LDRSH_POST
     694             :     UINT64_C(19923184), // LDRSH_PRE
     695             :     UINT64_C(70254592), // LDRT_POST_IMM
     696             :     UINT64_C(103809024),        // LDRT_POST_REG
     697             :     UINT64_C(68157440), // LDR_POST_IMM
     698             :     UINT64_C(101711872),        // LDR_POST_REG
     699             :     UINT64_C(87031808), // LDR_PRE_IMM
     700             :     UINT64_C(120586240),        // LDR_PRE_REG
     701             :     UINT64_C(85917696), // LDRcp
     702             :     UINT64_C(84934656), // LDRi12
     703             :     UINT64_C(118489088),        // LDRrs
     704             :     UINT64_C(234881040),        // MCR
     705             :     UINT64_C(4261412880),       // MCR2
     706             :     UINT64_C(205520896),        // MCRR
     707             :     UINT64_C(4232052736),       // MCRR2
     708             :     UINT64_C(2097296),  // MLA
     709             :     UINT64_C(6291600),  // MLS
     710             :     UINT64_C(27324430), // MOVPCLR
     711             :     UINT64_C(54525952), // MOVTi16
     712             :     UINT64_C(60817408), // MOVi
     713             :     UINT64_C(50331648), // MOVi16
     714             :     UINT64_C(27262976), // MOVr
     715             :     UINT64_C(27262976), // MOVr_TC
     716             :     UINT64_C(27262976), // MOVsi
     717             :     UINT64_C(27262992), // MOVsr
     718             :     UINT64_C(235929616),        // MRC
     719             :     UINT64_C(4262461456),       // MRC2
     720             :     UINT64_C(206569472),        // MRRC
     721             :     UINT64_C(4233101312),       // MRRC2
     722             :     UINT64_C(17760256), // MRS
     723             :     UINT64_C(16777728), // MRSbanked
     724             :     UINT64_C(21954560), // MRSsys
     725             :     UINT64_C(18935808), // MSR
     726             :     UINT64_C(18936320), // MSRbanked
     727             :     UINT64_C(52490240), // MSRi
     728             :     UINT64_C(144),      // MUL
     729             :     UINT64_C(65011712), // MVNi
     730             :     UINT64_C(31457280), // MVNr
     731             :     UINT64_C(31457280), // MVNsi
     732             :     UINT64_C(31457296), // MVNsr
     733             :     UINT64_C(58720256), // ORRri
     734             :     UINT64_C(25165824), // ORRrr
     735             :     UINT64_C(25165824), // ORRrsi
     736             :     UINT64_C(25165840), // ORRrsr
     737             :     UINT64_C(109051920),        // PKHBT
     738             :     UINT64_C(109051984),        // PKHTB
     739             :     UINT64_C(4111527936),       // PLDWi12
     740             :     UINT64_C(4145082368),       // PLDWrs
     741             :     UINT64_C(4115722240),       // PLDi12
     742             :     UINT64_C(4149276672),       // PLDrs
     743             :     UINT64_C(4098945024),       // PLIi12
     744             :     UINT64_C(4132499456),       // PLIrs
     745             :     UINT64_C(16777296), // QADD
     746             :     UINT64_C(102764304),        // QADD16
     747             :     UINT64_C(102764432),        // QADD8
     748             :     UINT64_C(102764336),        // QASX
     749             :     UINT64_C(20971600), // QDADD
     750             :     UINT64_C(23068752), // QDSUB
     751             :     UINT64_C(102764368),        // QSAX
     752             :     UINT64_C(18874448), // QSUB
     753             :     UINT64_C(102764400),        // QSUB16
     754             :     UINT64_C(102764528),        // QSUB8
     755             :     UINT64_C(117378864),        // RBIT
     756             :     UINT64_C(113184560),        // REV
     757             :     UINT64_C(113184688),        // REV16
     758             :     UINT64_C(117378992),        // REVSH
     759             :     UINT64_C(4161800704),       // RFEDA
     760             :     UINT64_C(4163897856),       // RFEDA_UPD
     761             :     UINT64_C(4178577920),       // RFEDB
     762             :     UINT64_C(4180675072),       // RFEDB_UPD
     763             :     UINT64_C(4170189312),       // RFEIA
     764             :     UINT64_C(4172286464),       // RFEIA_UPD
     765             :     UINT64_C(4186966528),       // RFEIB
     766             :     UINT64_C(4189063680),       // RFEIB_UPD
     767             :     UINT64_C(39845888), // RSBri
     768             :     UINT64_C(6291456),  // RSBrr
     769             :     UINT64_C(6291456),  // RSBrsi
     770             :     UINT64_C(6291472),  // RSBrsr
     771             :     UINT64_C(48234496), // RSCri
     772             :     UINT64_C(14680064), // RSCrr
     773             :     UINT64_C(14680064), // RSCrsi
     774             :     UINT64_C(14680080), // RSCrsr
     775             :     UINT64_C(101715728),        // SADD16
     776             :     UINT64_C(101715856),        // SADD8
     777             :     UINT64_C(101715760),        // SASX
     778             :     UINT64_C(4118802544),       // SB
     779             :     UINT64_C(46137344), // SBCri
     780             :     UINT64_C(12582912), // SBCrr
     781             :     UINT64_C(12582912), // SBCrsi
     782             :     UINT64_C(12582928), // SBCrsr
     783             :     UINT64_C(127926352),        // SBFX
     784             :     UINT64_C(118550544),        // SDIV
     785             :     UINT64_C(109055920),        // SEL
     786             :     UINT64_C(4043374592),       // SETEND
     787             :     UINT64_C(4044357632),       // SETPAN
     788             :     UINT64_C(4060089408),       // SHA1C
     789             :     UINT64_C(4088988352),       // SHA1H
     790             :     UINT64_C(4062186560),       // SHA1M
     791             :     UINT64_C(4061137984),       // SHA1P
     792             :     UINT64_C(4063235136),       // SHA1SU0
     793             :     UINT64_C(4089054080),       // SHA1SU1
     794             :     UINT64_C(4076866624),       // SHA256H
     795             :     UINT64_C(4077915200),       // SHA256H2
     796             :     UINT64_C(4089054144),       // SHA256SU0
     797             :     UINT64_C(4078963776),       // SHA256SU1
     798             :     UINT64_C(103812880),        // SHADD16
     799             :     UINT64_C(103813008),        // SHADD8
     800             :     UINT64_C(103812912),        // SHASX
     801             :     UINT64_C(103812944),        // SHSAX
     802             :     UINT64_C(103812976),        // SHSUB16
     803             :     UINT64_C(103813104),        // SHSUB8
     804             :     UINT64_C(23068784), // SMC
     805             :     UINT64_C(16777344), // SMLABB
     806             :     UINT64_C(16777408), // SMLABT
     807             :     UINT64_C(117440528),        // SMLAD
     808             :     UINT64_C(117440560),        // SMLADX
     809             :     UINT64_C(14680208), // SMLAL
     810             :     UINT64_C(20971648), // SMLALBB
     811             :     UINT64_C(20971712), // SMLALBT
     812             :     UINT64_C(121634832),        // SMLALD
     813             :     UINT64_C(121634864),        // SMLALDX
     814             :     UINT64_C(20971680), // SMLALTB
     815             :     UINT64_C(20971744), // SMLALTT
     816             :     UINT64_C(16777376), // SMLATB
     817             :     UINT64_C(16777440), // SMLATT
     818             :     UINT64_C(18874496), // SMLAWB
     819             :     UINT64_C(18874560), // SMLAWT
     820             :     UINT64_C(117440592),        // SMLSD
     821             :     UINT64_C(117440624),        // SMLSDX
     822             :     UINT64_C(121634896),        // SMLSLD
     823             :     UINT64_C(121634928),        // SMLSLDX
     824             :     UINT64_C(122683408),        // SMMLA
     825             :     UINT64_C(122683440),        // SMMLAR
     826             :     UINT64_C(122683600),        // SMMLS
     827             :     UINT64_C(122683632),        // SMMLSR
     828             :     UINT64_C(122744848),        // SMMUL
     829             :     UINT64_C(122744880),        // SMMULR
     830             :     UINT64_C(117501968),        // SMUAD
     831             :     UINT64_C(117502000),        // SMUADX
     832             :     UINT64_C(23068800), // SMULBB
     833             :     UINT64_C(23068864), // SMULBT
     834             :     UINT64_C(12583056), // SMULL
     835             :     UINT64_C(23068832), // SMULTB
     836             :     UINT64_C(23068896), // SMULTT
     837             :     UINT64_C(18874528), // SMULWB
     838             :     UINT64_C(18874592), // SMULWT
     839             :     UINT64_C(117502032),        // SMUSD
     840             :     UINT64_C(117502064),        // SMUSDX
     841             :     UINT64_C(4165797120),       // SRSDA
     842             :     UINT64_C(4167894272),       // SRSDA_UPD
     843             :     UINT64_C(4182574336),       // SRSDB
     844             :     UINT64_C(4184671488),       // SRSDB_UPD
     845             :     UINT64_C(4174185728),       // SRSIA
     846             :     UINT64_C(4176282880),       // SRSIA_UPD
     847             :     UINT64_C(4190962944),       // SRSIB
     848             :     UINT64_C(4193060096),       // SRSIB_UPD
     849             :     UINT64_C(111149072),        // SSAT
     850             :     UINT64_C(111152944),        // SSAT16
     851             :     UINT64_C(101715792),        // SSAX
     852             :     UINT64_C(101715824),        // SSUB16
     853             :     UINT64_C(101715952),        // SSUB8
     854             :     UINT64_C(4248829952),       // STC2L_OFFSET
     855             :     UINT64_C(4240441344),       // STC2L_OPTION
     856             :     UINT64_C(4234149888),       // STC2L_POST
     857             :     UINT64_C(4250927104),       // STC2L_PRE
     858             :     UINT64_C(4244635648),       // STC2_OFFSET
     859             :     UINT64_C(4236247040),       // STC2_OPTION
     860             :     UINT64_C(4229955584),       // STC2_POST
     861             :     UINT64_C(4246732800),       // STC2_PRE
     862             :     UINT64_C(222298112),        // STCL_OFFSET
     863             :     UINT64_C(213909504),        // STCL_OPTION
     864             :     UINT64_C(207618048),        // STCL_POST
     865             :     UINT64_C(224395264),        // STCL_PRE
     866             :     UINT64_C(218103808),        // STC_OFFSET
     867             :     UINT64_C(209715200),        // STC_OPTION
     868             :     UINT64_C(203423744),        // STC_POST
     869             :     UINT64_C(220200960),        // STC_PRE
     870             :     UINT64_C(25230480), // STL
     871             :     UINT64_C(29424784), // STLB
     872             :     UINT64_C(25169552), // STLEX
     873             :     UINT64_C(29363856), // STLEXB
     874             :     UINT64_C(27266704), // STLEXD
     875             :     UINT64_C(31461008), // STLEXH
     876             :     UINT64_C(31521936), // STLH
     877             :     UINT64_C(134217728),        // STMDA
     878             :     UINT64_C(136314880),        // STMDA_UPD
     879             :     UINT64_C(150994944),        // STMDB
     880             :     UINT64_C(153092096),        // STMDB_UPD
     881             :     UINT64_C(142606336),        // STMIA
     882             :     UINT64_C(144703488),        // STMIA_UPD
     883             :     UINT64_C(159383552),        // STMIB
     884             :     UINT64_C(161480704),        // STMIB_UPD
     885             :     UINT64_C(73400320), // STRBT_POST_IMM
     886             :     UINT64_C(106954752),        // STRBT_POST_REG
     887             :     UINT64_C(71303168), // STRB_POST_IMM
     888             :     UINT64_C(104857600),        // STRB_POST_REG
     889             :     UINT64_C(90177536), // STRB_PRE_IMM
     890             :     UINT64_C(123731968),        // STRB_PRE_REG
     891             :     UINT64_C(88080384), // STRBi12
     892             :     UINT64_C(121634816),        // STRBrs
     893             :     UINT64_C(16777456), // STRD
     894             :     UINT64_C(240),      // STRD_POST
     895             :     UINT64_C(18874608), // STRD_PRE
     896             :     UINT64_C(25169808), // STREX
     897             :     UINT64_C(29364112), // STREXB
     898             :     UINT64_C(27266960), // STREXD
     899             :     UINT64_C(31461264), // STREXH
     900             :     UINT64_C(16777392), // STRH
     901             :     UINT64_C(6291632),  // STRHTi
     902             :     UINT64_C(2097328),  // STRHTr
     903             :     UINT64_C(176),      // STRH_POST
     904             :     UINT64_C(18874544), // STRH_PRE
     905             :     UINT64_C(69206016), // STRT_POST_IMM
     906             :     UINT64_C(102760448),        // STRT_POST_REG
     907             :     UINT64_C(67108864), // STR_POST_IMM
     908             :     UINT64_C(100663296),        // STR_POST_REG
     909             :     UINT64_C(85983232), // STR_PRE_IMM
     910             :     UINT64_C(119537664),        // STR_PRE_REG
     911             :     UINT64_C(83886080), // STRi12
     912             :     UINT64_C(117440512),        // STRrs
     913             :     UINT64_C(37748736), // SUBri
     914             :     UINT64_C(4194304),  // SUBrr
     915             :     UINT64_C(4194304),  // SUBrsi
     916             :     UINT64_C(4194320),  // SUBrsr
     917             :     UINT64_C(251658240),        // SVC
     918             :     UINT64_C(16777360), // SWP
     919             :     UINT64_C(20971664), // SWPB
     920             :     UINT64_C(111149168),        // SXTAB
     921             :     UINT64_C(109052016),        // SXTAB16
     922             :     UINT64_C(112197744),        // SXTAH
     923             :     UINT64_C(112132208),        // SXTB
     924             :     UINT64_C(110035056),        // SXTB16
     925             :     UINT64_C(113180784),        // SXTH
     926             :     UINT64_C(53477376), // TEQri
     927             :     UINT64_C(19922944), // TEQrr
     928             :     UINT64_C(19922944), // TEQrsi
     929             :     UINT64_C(19922960), // TEQrsr
     930             :     UINT64_C(3892305662),       // TRAP
     931             :     UINT64_C(3892240112),       // TRAPNaCl
     932             :     UINT64_C(3810586642),       // TSB
     933             :     UINT64_C(51380224), // TSTri
     934             :     UINT64_C(17825792), // TSTrr
     935             :     UINT64_C(17825792), // TSTrsi
     936             :     UINT64_C(17825808), // TSTrsr
     937             :     UINT64_C(105910032),        // UADD16
     938             :     UINT64_C(105910160),        // UADD8
     939             :     UINT64_C(105910064),        // UASX
     940             :     UINT64_C(132120656),        // UBFX
     941             :     UINT64_C(3891265776),       // UDF
     942             :     UINT64_C(120647696),        // UDIV
     943             :     UINT64_C(108007184),        // UHADD16
     944             :     UINT64_C(108007312),        // UHADD8
     945             :     UINT64_C(108007216),        // UHASX
     946             :     UINT64_C(108007248),        // UHSAX
     947             :     UINT64_C(108007280),        // UHSUB16
     948             :     UINT64_C(108007408),        // UHSUB8
     949             :     UINT64_C(4194448),  // UMAAL
     950             :     UINT64_C(10485904), // UMLAL
     951             :     UINT64_C(8388752),  // UMULL
     952             :     UINT64_C(106958608),        // UQADD16
     953             :     UINT64_C(106958736),        // UQADD8
     954             :     UINT64_C(106958640),        // UQASX
     955             :     UINT64_C(106958672),        // UQSAX
     956             :     UINT64_C(106958704),        // UQSUB16
     957             :     UINT64_C(106958832),        // UQSUB8
     958             :     UINT64_C(125890576),        // USAD8
     959             :     UINT64_C(125829136),        // USADA8
     960             :     UINT64_C(115343376),        // USAT
     961             :     UINT64_C(115347248),        // USAT16
     962             :     UINT64_C(105910096),        // USAX
     963             :     UINT64_C(105910128),        // USUB16
     964             :     UINT64_C(105910256),        // USUB8
     965             :     UINT64_C(115343472),        // UXTAB
     966             :     UINT64_C(113246320),        // UXTAB16
     967             :     UINT64_C(116392048),        // UXTAH
     968             :     UINT64_C(116326512),        // UXTB
     969             :     UINT64_C(114229360),        // UXTB16
     970             :     UINT64_C(117375088),        // UXTH
     971             :     UINT64_C(4070573312),       // VABALsv2i64
     972             :     UINT64_C(4069524736),       // VABALsv4i32
     973             :     UINT64_C(4068476160),       // VABALsv8i16
     974             :     UINT64_C(4087350528),       // VABALuv2i64
     975             :     UINT64_C(4086301952),       // VABALuv4i32
     976             :     UINT64_C(4085253376),       // VABALuv8i16
     977             :     UINT64_C(4060088144),       // VABAsv16i8
     978             :     UINT64_C(4062185232),       // VABAsv2i32
     979             :     UINT64_C(4061136656),       // VABAsv4i16
     980             :     UINT64_C(4062185296),       // VABAsv4i32
     981             :     UINT64_C(4061136720),       // VABAsv8i16
     982             :     UINT64_C(4060088080),       // VABAsv8i8
     983             :     UINT64_C(4076865360),       // VABAuv16i8
     984             :     UINT64_C(4078962448),       // VABAuv2i32
     985             :     UINT64_C(4077913872),       // VABAuv4i16
     986             :     UINT64_C(4078962512),       // VABAuv4i32
     987             :     UINT64_C(4077913936),       // VABAuv8i16
     988             :     UINT64_C(4076865296),       // VABAuv8i8
     989             :     UINT64_C(4070573824),       // VABDLsv2i64
     990             :     UINT64_C(4069525248),       // VABDLsv4i32
     991             :     UINT64_C(4068476672),       // VABDLsv8i16
     992             :     UINT64_C(4087351040),       // VABDLuv2i64
     993             :     UINT64_C(4086302464),       // VABDLuv4i32
     994             :     UINT64_C(4085253888),       // VABDLuv8i16
     995             :     UINT64_C(4078963968),       // VABDfd
     996             :     UINT64_C(4078964032),       // VABDfq
     997             :     UINT64_C(4080012544),       // VABDhd
     998             :     UINT64_C(4080012608),       // VABDhq
     999             :     UINT64_C(4060088128),       // VABDsv16i8
    1000             :     UINT64_C(4062185216),       // VABDsv2i32
    1001             :     UINT64_C(4061136640),       // VABDsv4i16
    1002             :     UINT64_C(4062185280),       // VABDsv4i32
    1003             :     UINT64_C(4061136704),       // VABDsv8i16
    1004             :     UINT64_C(4060088064),       // VABDsv8i8
    1005             :     UINT64_C(4076865344),       // VABDuv16i8
    1006             :     UINT64_C(4078962432),       // VABDuv2i32
    1007             :     UINT64_C(4077913856),       // VABDuv4i16
    1008             :     UINT64_C(4078962496),       // VABDuv4i32
    1009             :     UINT64_C(4077913920),       // VABDuv8i16
    1010             :     UINT64_C(4076865280),       // VABDuv8i8
    1011             :     UINT64_C(246418368),        // VABSD
    1012             :     UINT64_C(246417856),        // VABSH
    1013             :     UINT64_C(246418112),        // VABSS
    1014             :     UINT64_C(4088989440),       // VABSfd
    1015             :     UINT64_C(4088989504),       // VABSfq
    1016             :     UINT64_C(4088727296),       // VABShd
    1017             :     UINT64_C(4088727360),       // VABShq
    1018             :     UINT64_C(4088464192),       // VABSv16i8
    1019             :     UINT64_C(4088988416),       // VABSv2i32
    1020             :     UINT64_C(4088726272),       // VABSv4i16
    1021             :     UINT64_C(4088988480),       // VABSv4i32
    1022             :     UINT64_C(4088726336),       // VABSv8i16
    1023             :     UINT64_C(4088464128),       // VABSv8i8
    1024             :     UINT64_C(4076867088),       // VACGEfd
    1025             :     UINT64_C(4076867152),       // VACGEfq
    1026             :     UINT64_C(4077915664),       // VACGEhd
    1027             :     UINT64_C(4077915728),       // VACGEhq
    1028             :     UINT64_C(4078964240),       // VACGTfd
    1029             :     UINT64_C(4078964304),       // VACGTfq
    1030             :     UINT64_C(4080012816),       // VACGThd
    1031             :     UINT64_C(4080012880),       // VACGThq
    1032             :     UINT64_C(238029568),        // VADDD
    1033             :     UINT64_C(238029056),        // VADDH
    1034             :     UINT64_C(4070573056),       // VADDHNv2i32
    1035             :     UINT64_C(4069524480),       // VADDHNv4i16
    1036             :     UINT64_C(4068475904),       // VADDHNv8i8
    1037             :     UINT64_C(4070572032),       // VADDLsv2i64
    1038             :     UINT64_C(4069523456),       // VADDLsv4i32
    1039             :     UINT64_C(4068474880),       // VADDLsv8i16
    1040             :     UINT64_C(4087349248),       // VADDLuv2i64
    1041             :     UINT64_C(4086300672),       // VADDLuv4i32
    1042             :     UINT64_C(4085252096),       // VADDLuv8i16
    1043             :     UINT64_C(238029312),        // VADDS
    1044             :     UINT64_C(4070572288),       // VADDWsv2i64
    1045             :     UINT64_C(4069523712),       // VADDWsv4i32
    1046             :     UINT64_C(4068475136),       // VADDWsv8i16
    1047             :     UINT64_C(4087349504),       // VADDWuv2i64
    1048             :     UINT64_C(4086300928),       // VADDWuv4i32
    1049             :     UINT64_C(4085252352),       // VADDWuv8i16
    1050             :     UINT64_C(4060089600),       // VADDfd
    1051             :     UINT64_C(4060089664),       // VADDfq
    1052             :     UINT64_C(4061138176),       // VADDhd
    1053             :     UINT64_C(4061138240),       // VADDhq
    1054             :     UINT64_C(4060088384),       // VADDv16i8
    1055             :     UINT64_C(4063234048),       // VADDv1i64
    1056             :     UINT64_C(4062185472),       // VADDv2i32
    1057             :     UINT64_C(4063234112),       // VADDv2i64
    1058             :     UINT64_C(4061136896),       // VADDv4i16
    1059             :     UINT64_C(4062185536),       // VADDv4i32
    1060             :     UINT64_C(4061136960),       // VADDv8i16
    1061             :     UINT64_C(4060088320),       // VADDv8i8
    1062             :     UINT64_C(4060086544),       // VANDd
    1063             :     UINT64_C(4060086608),       // VANDq
    1064             :     UINT64_C(4061135120),       // VBICd
    1065             :     UINT64_C(4068475184),       // VBICiv2i32
    1066             :     UINT64_C(4068477232),       // VBICiv4i16
    1067             :     UINT64_C(4068475248),       // VBICiv4i32
    1068             :     UINT64_C(4068477296),       // VBICiv8i16
    1069             :     UINT64_C(4061135184),       // VBICq
    1070             :     UINT64_C(4080009488),       // VBIFd
    1071             :     UINT64_C(4080009552),       // VBIFq
    1072             :     UINT64_C(4078960912),       // VBITd
    1073             :     UINT64_C(4078960976),       // VBITq
    1074             :     UINT64_C(4077912336),       // VBSLd
    1075             :     UINT64_C(4077912400),       // VBSLq
    1076             :     UINT64_C(4237297664),       // VCADDv2f32
    1077             :     UINT64_C(4236249088),       // VCADDv4f16
    1078             :     UINT64_C(4237297728),       // VCADDv4f32
    1079             :     UINT64_C(4236249152),       // VCADDv8f16
    1080             :     UINT64_C(4060089856),       // VCEQfd
    1081             :     UINT64_C(4060089920),       // VCEQfq
    1082             :     UINT64_C(4061138432),       // VCEQhd
    1083             :     UINT64_C(4061138496),       // VCEQhq
    1084             :     UINT64_C(4076865616),       // VCEQv16i8
    1085             :     UINT64_C(4078962704),       // VCEQv2i32
    1086             :     UINT64_C(4077914128),       // VCEQv4i16
    1087             :     UINT64_C(4078962768),       // VCEQv4i32
    1088             :     UINT64_C(4077914192),       // VCEQv8i16
    1089             :     UINT64_C(4076865552),       // VCEQv8i8
    1090             :     UINT64_C(4088463680),       // VCEQzv16i8
    1091             :     UINT64_C(4088988928),       // VCEQzv2f32
    1092             :     UINT64_C(4088987904),       // VCEQzv2i32
    1093             :     UINT64_C(4088726784),       // VCEQzv4f16
    1094             :     UINT64_C(4088988992),       // VCEQzv4f32
    1095             :     UINT64_C(4088725760),       // VCEQzv4i16
    1096             :     UINT64_C(4088987968),       // VCEQzv4i32
    1097             :     UINT64_C(4088726848),       // VCEQzv8f16
    1098             :     UINT64_C(4088725824),       // VCEQzv8i16
    1099             :     UINT64_C(4088463616),       // VCEQzv8i8
    1100             :     UINT64_C(4076867072),       // VCGEfd
    1101             :     UINT64_C(4076867136),       // VCGEfq
    1102             :     UINT64_C(4077915648),       // VCGEhd
    1103             :     UINT64_C(4077915712),       // VCGEhq
    1104             :     UINT64_C(4060087120),       // VCGEsv16i8
    1105             :     UINT64_C(4062184208),       // VCGEsv2i32
    1106             :     UINT64_C(4061135632),       // VCGEsv4i16
    1107             :     UINT64_C(4062184272),       // VCGEsv4i32
    1108             :     UINT64_C(4061135696),       // VCGEsv8i16
    1109             :     UINT64_C(4060087056),       // VCGEsv8i8
    1110             :     UINT64_C(4076864336),       // VCGEuv16i8
    1111             :     UINT64_C(4078961424),       // VCGEuv2i32
    1112             :     UINT64_C(4077912848),       // VCGEuv4i16
    1113             :     UINT64_C(4078961488),       // VCGEuv4i32
    1114             :     UINT64_C(4077912912),       // VCGEuv8i16
    1115             :     UINT64_C(4076864272),       // VCGEuv8i8
    1116             :     UINT64_C(4088463552),       // VCGEzv16i8
    1117             :     UINT64_C(4088988800),       // VCGEzv2f32
    1118             :     UINT64_C(4088987776),       // VCGEzv2i32
    1119             :     UINT64_C(4088726656),       // VCGEzv4f16
    1120             :     UINT64_C(4088988864),       // VCGEzv4f32
    1121             :     UINT64_C(4088725632),       // VCGEzv4i16
    1122             :     UINT64_C(4088987840),       // VCGEzv4i32
    1123             :     UINT64_C(4088726720),       // VCGEzv8f16
    1124             :     UINT64_C(4088725696),       // VCGEzv8i16
    1125             :     UINT64_C(4088463488),       // VCGEzv8i8
    1126             :     UINT64_C(4078964224),       // VCGTfd
    1127             :     UINT64_C(4078964288),       // VCGTfq
    1128             :     UINT64_C(4080012800),       // VCGThd
    1129             :     UINT64_C(4080012864),       // VCGThq
    1130             :     UINT64_C(4060087104),       // VCGTsv16i8
    1131             :     UINT64_C(4062184192),       // VCGTsv2i32
    1132             :     UINT64_C(4061135616),       // VCGTsv4i16
    1133             :     UINT64_C(4062184256),       // VCGTsv4i32
    1134             :     UINT64_C(4061135680),       // VCGTsv8i16
    1135             :     UINT64_C(4060087040),       // VCGTsv8i8
    1136             :     UINT64_C(4076864320),       // VCGTuv16i8
    1137             :     UINT64_C(4078961408),       // VCGTuv2i32
    1138             :     UINT64_C(4077912832),       // VCGTuv4i16
    1139             :     UINT64_C(4078961472),       // VCGTuv4i32
    1140             :     UINT64_C(4077912896),       // VCGTuv8i16
    1141             :     UINT64_C(4076864256),       // VCGTuv8i8
    1142             :     UINT64_C(4088463424),       // VCGTzv16i8
    1143             :     UINT64_C(4088988672),       // VCGTzv2f32
    1144             :     UINT64_C(4088987648),       // VCGTzv2i32
    1145             :     UINT64_C(4088726528),       // VCGTzv4f16
    1146             :     UINT64_C(4088988736),       // VCGTzv4f32
    1147             :     UINT64_C(4088725504),       // VCGTzv4i16
    1148             :     UINT64_C(4088987712),       // VCGTzv4i32
    1149             :     UINT64_C(4088726592),       // VCGTzv8f16
    1150             :     UINT64_C(4088725568),       // VCGTzv8i16
    1151             :     UINT64_C(4088463360),       // VCGTzv8i8
    1152             :     UINT64_C(4088463808),       // VCLEzv16i8
    1153             :     UINT64_C(4088989056),       // VCLEzv2f32
    1154             :     UINT64_C(4088988032),       // VCLEzv2i32
    1155             :     UINT64_C(4088726912),       // VCLEzv4f16
    1156             :     UINT64_C(4088989120),       // VCLEzv4f32
    1157             :     UINT64_C(4088725888),       // VCLEzv4i16
    1158             :     UINT64_C(4088988096),       // VCLEzv4i32
    1159             :     UINT64_C(4088726976),       // VCLEzv8f16
    1160             :     UINT64_C(4088725952),       // VCLEzv8i16
    1161             :     UINT64_C(4088463744),       // VCLEzv8i8
    1162             :     UINT64_C(4088398912),       // VCLSv16i8
    1163             :     UINT64_C(4088923136),       // VCLSv2i32
    1164             :     UINT64_C(4088660992),       // VCLSv4i16
    1165             :     UINT64_C(4088923200),       // VCLSv4i32
    1166             :     UINT64_C(4088661056),       // VCLSv8i16
    1167             :     UINT64_C(4088398848),       // VCLSv8i8
    1168             :     UINT64_C(4088463936),       // VCLTzv16i8
    1169             :     UINT64_C(4088989184),       // VCLTzv2f32
    1170             :     UINT64_C(4088988160),       // VCLTzv2i32
    1171             :     UINT64_C(4088727040),       // VCLTzv4f16
    1172             :     UINT64_C(4088989248),       // VCLTzv4f32
    1173             :     UINT64_C(4088726016),       // VCLTzv4i16
    1174             :     UINT64_C(4088988224),       // VCLTzv4i32
    1175             :     UINT64_C(4088727104),       // VCLTzv8f16
    1176             :     UINT64_C(4088726080),       // VCLTzv8i16
    1177             :     UINT64_C(4088463872),       // VCLTzv8i8
    1178             :     UINT64_C(4088399040),       // VCLZv16i8
    1179             :     UINT64_C(4088923264),       // VCLZv2i32
    1180             :     UINT64_C(4088661120),       // VCLZv4i16
    1181             :     UINT64_C(4088923328),       // VCLZv4i32
    1182             :     UINT64_C(4088661184),       // VCLZv8i16
    1183             :     UINT64_C(4088398976),       // VCLZv8i8
    1184             :     UINT64_C(4231006208),       // VCMLAv2f32
    1185             :     UINT64_C(4269803520),       // VCMLAv2f32_indexed
    1186             :     UINT64_C(4229957632),       // VCMLAv4f16
    1187             :     UINT64_C(4261414912),       // VCMLAv4f16_indexed
    1188             :     UINT64_C(4231006272),       // VCMLAv4f32
    1189             :     UINT64_C(4269803584),       // VCMLAv4f32_indexed
    1190             :     UINT64_C(4229957696),       // VCMLAv8f16
    1191             :     UINT64_C(4261414976),       // VCMLAv8f16_indexed
    1192             :     UINT64_C(246680384),        // VCMPD
    1193             :     UINT64_C(246680512),        // VCMPED
    1194             :     UINT64_C(246680000),        // VCMPEH
    1195             :     UINT64_C(246680256),        // VCMPES
    1196             :     UINT64_C(246746048),        // VCMPEZD
    1197             :     UINT64_C(246745536),        // VCMPEZH
    1198             :     UINT64_C(246745792),        // VCMPEZS
    1199             :     UINT64_C(246679872),        // VCMPH
    1200             :     UINT64_C(246680128),        // VCMPS
    1201             :     UINT64_C(246745920),        // VCMPZD
    1202             :     UINT64_C(246745408),        // VCMPZH
    1203             :     UINT64_C(246745664),        // VCMPZS
    1204             :     UINT64_C(4088399104),       // VCNTd
    1205             :     UINT64_C(4088399168),       // VCNTq
    1206             :     UINT64_C(4089118720),       // VCVTANSDf
    1207             :     UINT64_C(4088856576),       // VCVTANSDh
    1208             :     UINT64_C(4089118784),       // VCVTANSQf
    1209             :     UINT64_C(4088856640),       // VCVTANSQh
    1210             :     UINT64_C(4089118848),       // VCVTANUDf
    1211             :     UINT64_C(4088856704),       // VCVTANUDh
    1212             :     UINT64_C(4089118912),       // VCVTANUQf
    1213             :     UINT64_C(4088856768),       // VCVTANUQh
    1214             :     UINT64_C(4273736640),       // VCVTASD
    1215             :     UINT64_C(4273736128),       // VCVTASH
    1216             :     UINT64_C(4273736384),       // VCVTASS
    1217             :     UINT64_C(4273736512),       // VCVTAUD
    1218             :     UINT64_C(4273736000),       // VCVTAUH
    1219             :     UINT64_C(4273736256),       // VCVTAUS
    1220             :     UINT64_C(246614848),        // VCVTBDH
    1221             :     UINT64_C(246549312),        // VCVTBHD
    1222             :     UINT64_C(246549056),        // VCVTBHS
    1223             :     UINT64_C(246614592),        // VCVTBSH
    1224             :     UINT64_C(246876864),        // VCVTDS
    1225             :     UINT64_C(4089119488),       // VCVTMNSDf
    1226             :     UINT64_C(4088857344),       // VCVTMNSDh
    1227             :     UINT64_C(4089119552),       // VCVTMNSQf
    1228             :     UINT64_C(4088857408),       // VCVTMNSQh
    1229             :     UINT64_C(4089119616),       // VCVTMNUDf
    1230             :     UINT64_C(4088857472),       // VCVTMNUDh
    1231             :     UINT64_C(4089119680),       // VCVTMNUQf
    1232             :     UINT64_C(4088857536),       // VCVTMNUQh
    1233             :     UINT64_C(4273933248),       // VCVTMSD
    1234             :     UINT64_C(4273932736),       // VCVTMSH
    1235             :     UINT64_C(4273932992),       // VCVTMSS
    1236             :     UINT64_C(4273933120),       // VCVTMUD
    1237             :     UINT64_C(4273932608),       // VCVTMUH
    1238             :     UINT64_C(4273932864),       // VCVTMUS
    1239             :     UINT64_C(4089118976),       // VCVTNNSDf
    1240             :     UINT64_C(4088856832),       // VCVTNNSDh
    1241             :     UINT64_C(4089119040),       // VCVTNNSQf
    1242             :     UINT64_C(4088856896),       // VCVTNNSQh
    1243             :     UINT64_C(4089119104),       // VCVTNNUDf
    1244             :     UINT64_C(4088856960),       // VCVTNNUDh
    1245             :     UINT64_C(4089119168),       // VCVTNNUQf
    1246             :     UINT64_C(4088857024),       // VCVTNNUQh
    1247             :     UINT64_C(4273802176),       // VCVTNSD
    1248             :     UINT64_C(4273801664),       // VCVTNSH
    1249             :     UINT64_C(4273801920),       // VCVTNSS
    1250             :     UINT64_C(4273802048),       // VCVTNUD
    1251             :     UINT64_C(4273801536),       // VCVTNUH
    1252             :     UINT64_C(4273801792),       // VCVTNUS
    1253             :     UINT64_C(4089119232),       // VCVTPNSDf
    1254             :     UINT64_C(4088857088),       // VCVTPNSDh
    1255             :     UINT64_C(4089119296),       // VCVTPNSQf
    1256             :     UINT64_C(4088857152),       // VCVTPNSQh
    1257             :     UINT64_C(4089119360),       // VCVTPNUDf
    1258             :     UINT64_C(4088857216),       // VCVTPNUDh
    1259             :     UINT64_C(4089119424),       // VCVTPNUQf
    1260             :     UINT64_C(4088857280),       // VCVTPNUQh
    1261             :     UINT64_C(4273867712),       // VCVTPSD
    1262             :     UINT64_C(4273867200),       // VCVTPSH
    1263             :     UINT64_C(4273867456),       // VCVTPSS
    1264             :     UINT64_C(4273867584),       // VCVTPUD
    1265             :     UINT64_C(4273867072),       // VCVTPUH
    1266             :     UINT64_C(4273867328),       // VCVTPUS
    1267             :     UINT64_C(246877120),        // VCVTSD
    1268             :     UINT64_C(246614976),        // VCVTTDH
    1269             :     UINT64_C(246549440),        // VCVTTHD
    1270             :     UINT64_C(246549184),        // VCVTTHS
    1271             :     UINT64_C(246614720),        // VCVTTSH
    1272             :     UINT64_C(4088792576),       // VCVTf2h
    1273             :     UINT64_C(4089120512),       // VCVTf2sd
    1274             :     UINT64_C(4089120576),       // VCVTf2sq
    1275             :     UINT64_C(4089120640),       // VCVTf2ud
    1276             :     UINT64_C(4089120704),       // VCVTf2uq
    1277             :     UINT64_C(4068478736),       // VCVTf2xsd
    1278             :     UINT64_C(4068478800),       // VCVTf2xsq
    1279             :     UINT64_C(4085255952),       // VCVTf2xud
    1280             :     UINT64_C(4085256016),       // VCVTf2xuq
    1281             :     UINT64_C(4088792832),       // VCVTh2f
    1282             :     UINT64_C(4088858368),       // VCVTh2sd
    1283             :     UINT64_C(4088858432),       // VCVTh2sq
    1284             :     UINT64_C(4088858496),       // VCVTh2ud
    1285             :     UINT64_C(4088858560),       // VCVTh2uq
    1286             :     UINT64_C(4068478224),       // VCVTh2xsd
    1287             :     UINT64_C(4068478288),       // VCVTh2xsq
    1288             :     UINT64_C(4085255440),       // VCVTh2xud
    1289             :     UINT64_C(4085255504),       // VCVTh2xuq
    1290             :     UINT64_C(4089120256),       // VCVTs2fd
    1291             :     UINT64_C(4089120320),       // VCVTs2fq
    1292             :     UINT64_C(4088858112),       // VCVTs2hd
    1293             :     UINT64_C(4088858176),       // VCVTs2hq
    1294             :     UINT64_C(4089120384),       // VCVTu2fd
    1295             :     UINT64_C(4089120448),       // VCVTu2fq
    1296             :     UINT64_C(4088858240),       // VCVTu2hd
    1297             :     UINT64_C(4088858304),       // VCVTu2hq
    1298             :     UINT64_C(4068478480),       // VCVTxs2fd
    1299             :     UINT64_C(4068478544),       // VCVTxs2fq
    1300             :     UINT64_C(4068477968),       // VCVTxs2hd
    1301             :     UINT64_C(4068478032),       // VCVTxs2hq
    1302             :     UINT64_C(4085255696),       // VCVTxu2fd
    1303             :     UINT64_C(4085255760),       // VCVTxu2fq
    1304             :     UINT64_C(4085255184),       // VCVTxu2hd
    1305             :     UINT64_C(4085255248),       // VCVTxu2hq
    1306             :     UINT64_C(243272448),        // VDIVD
    1307             :     UINT64_C(243271936),        // VDIVH
    1308             :     UINT64_C(243272192),        // VDIVS
    1309             :     UINT64_C(243272496),        // VDUP16d
    1310             :     UINT64_C(245369648),        // VDUP16q
    1311             :     UINT64_C(243272464),        // VDUP32d
    1312             :     UINT64_C(245369616),        // VDUP32q
    1313             :     UINT64_C(247466768),        // VDUP8d
    1314             :     UINT64_C(249563920),        // VDUP8q
    1315             :     UINT64_C(4088531968),       // VDUPLN16d
    1316             :     UINT64_C(4088532032),       // VDUPLN16q
    1317             :     UINT64_C(4088663040),       // VDUPLN32d
    1318             :     UINT64_C(4088663104),       // VDUPLN32q
    1319             :     UINT64_C(4088466432),       // VDUPLN8d
    1320             :     UINT64_C(4088466496),       // VDUPLN8q
    1321             :     UINT64_C(4076863760),       // VEORd
    1322             :     UINT64_C(4076863824),       // VEORq
    1323             :     UINT64_C(4071620608),       // VEXTd16
    1324             :     UINT64_C(4071620608),       // VEXTd32
    1325             :     UINT64_C(4071620608),       // VEXTd8
    1326             :     UINT64_C(4071620672),       // VEXTq16
    1327             :     UINT64_C(4071620672),       // VEXTq32
    1328             :     UINT64_C(4071620672),       // VEXTq64
    1329             :     UINT64_C(4071620672),       // VEXTq8
    1330             :     UINT64_C(245369600),        // VFMAD
    1331             :     UINT64_C(245369088),        // VFMAH
    1332             :     UINT64_C(4229957648),       // VFMALD
    1333             :     UINT64_C(4261414928),       // VFMALDI
    1334             :     UINT64_C(4229957712),       // VFMALQ
    1335             :     UINT64_C(4261414992),       // VFMALQI
    1336             :     UINT64_C(245369344),        // VFMAS
    1337             :     UINT64_C(4060089360),       // VFMAfd
    1338             :     UINT64_C(4060089424),       // VFMAfq
    1339             :     UINT64_C(4061137936),       // VFMAhd
    1340             :     UINT64_C(4061138000),       // VFMAhq
    1341             :     UINT64_C(245369664),        // VFMSD
    1342             :     UINT64_C(245369152),        // VFMSH
    1343             :     UINT64_C(4238346256),       // VFMSLD
    1344             :     UINT64_C(4262463504),       // VFMSLDI
    1345             :     UINT64_C(4238346320),       // VFMSLQ
    1346             :     UINT64_C(4262463568),       // VFMSLQI
    1347             :     UINT64_C(245369408),        // VFMSS
    1348             :     UINT64_C(4062186512),       // VFMSfd
    1349             :     UINT64_C(4062186576),       // VFMSfq
    1350             :     UINT64_C(4063235088),       // VFMShd
    1351             :     UINT64_C(4063235152),       // VFMShq
    1352             :     UINT64_C(244321088),        // VFNMAD
    1353             :     UINT64_C(244320576),        // VFNMAH
    1354             :     UINT64_C(244320832),        // VFNMAS
    1355             :     UINT64_C(244321024),        // VFNMSD
    1356             :     UINT64_C(244320512),        // VFNMSH
    1357             :     UINT64_C(244320768),        // VFNMSS
    1358             :     UINT64_C(235932432),        // VGETLNi32
    1359             :     UINT64_C(235932464),        // VGETLNs16
    1360             :     UINT64_C(240126736),        // VGETLNs8
    1361             :     UINT64_C(244321072),        // VGETLNu16
    1362             :     UINT64_C(248515344),        // VGETLNu8
    1363             :     UINT64_C(4060086336),       // VHADDsv16i8
    1364             :     UINT64_C(4062183424),       // VHADDsv2i32
    1365             :     UINT64_C(4061134848),       // VHADDsv4i16
    1366             :     UINT64_C(4062183488),       // VHADDsv4i32
    1367             :     UINT64_C(4061134912),       // VHADDsv8i16
    1368             :     UINT64_C(4060086272),       // VHADDsv8i8
    1369             :     UINT64_C(4076863552),       // VHADDuv16i8
    1370             :     UINT64_C(4078960640),       // VHADDuv2i32
    1371             :     UINT64_C(4077912064),       // VHADDuv4i16
    1372             :     UINT64_C(4078960704),       // VHADDuv4i32
    1373             :     UINT64_C(4077912128),       // VHADDuv8i16
    1374             :     UINT64_C(4076863488),       // VHADDuv8i8
    1375             :     UINT64_C(4060086848),       // VHSUBsv16i8
    1376             :     UINT64_C(4062183936),       // VHSUBsv2i32
    1377             :     UINT64_C(4061135360),       // VHSUBsv4i16
    1378             :     UINT64_C(4062184000),       // VHSUBsv4i32
    1379             :     UINT64_C(4061135424),       // VHSUBsv8i16
    1380             :     UINT64_C(4060086784),       // VHSUBsv8i8
    1381             :     UINT64_C(4076864064),       // VHSUBuv16i8
    1382             :     UINT64_C(4078961152),       // VHSUBuv2i32
    1383             :     UINT64_C(4077912576),       // VHSUBuv4i16
    1384             :     UINT64_C(4078961216),       // VHSUBuv4i32
    1385             :     UINT64_C(4077912640),       // VHSUBuv8i16
    1386             :     UINT64_C(4076864000),       // VHSUBuv8i8
    1387             :     UINT64_C(4272949952),       // VINSH
    1388             :     UINT64_C(247008192),        // VJCVT
    1389             :     UINT64_C(4104129615),       // VLD1DUPd16
    1390             :     UINT64_C(4104129613),       // VLD1DUPd16wb_fixed
    1391             :     UINT64_C(4104129600),       // VLD1DUPd16wb_register
    1392             :     UINT64_C(4104129679),       // VLD1DUPd32
    1393             :     UINT64_C(4104129677),       // VLD1DUPd32wb_fixed
    1394             :     UINT64_C(4104129664),       // VLD1DUPd32wb_register
    1395             :     UINT64_C(4104129551),       // VLD1DUPd8
    1396             :     UINT64_C(4104129549),       // VLD1DUPd8wb_fixed
    1397             :     UINT64_C(4104129536),       // VLD1DUPd8wb_register
    1398             :     UINT64_C(4104129647),       // VLD1DUPq16
    1399             :     UINT64_C(4104129645),       // VLD1DUPq16wb_fixed
    1400             :     UINT64_C(4104129632),       // VLD1DUPq16wb_register
    1401             :     UINT64_C(4104129711),       // VLD1DUPq32
    1402             :     UINT64_C(4104129709),       // VLD1DUPq32wb_fixed
    1403             :     UINT64_C(4104129696),       // VLD1DUPq32wb_register
    1404             :     UINT64_C(4104129583),       // VLD1DUPq8
    1405             :     UINT64_C(4104129581),       // VLD1DUPq8wb_fixed
    1406             :     UINT64_C(4104129568),       // VLD1DUPq8wb_register
    1407             :     UINT64_C(4104127503),       // VLD1LNd16
    1408             :     UINT64_C(4104127488),       // VLD1LNd16_UPD
    1409             :     UINT64_C(4104128527),       // VLD1LNd32
    1410             :     UINT64_C(4104128512),       // VLD1LNd32_UPD
    1411             :     UINT64_C(4104126479),       // VLD1LNd8
    1412             :     UINT64_C(4104126464),       // VLD1LNd8_UPD
    1413             :     UINT64_C(0),        // VLD1LNq16Pseudo
    1414             :     UINT64_C(0),        // VLD1LNq16Pseudo_UPD
    1415             :     UINT64_C(0),        // VLD1LNq32Pseudo
    1416             :     UINT64_C(0),        // VLD1LNq32Pseudo_UPD
    1417             :     UINT64_C(0),        // VLD1LNq8Pseudo
    1418             :     UINT64_C(0),        // VLD1LNq8Pseudo_UPD
    1419             :     UINT64_C(4095739727),       // VLD1d16
    1420             :     UINT64_C(4095738447),       // VLD1d16Q
    1421             :     UINT64_C(0),        // VLD1d16QPseudo
    1422             :     UINT64_C(4095738445),       // VLD1d16Qwb_fixed
    1423             :     UINT64_C(4095738432),       // VLD1d16Qwb_register
    1424             :     UINT64_C(4095739471),       // VLD1d16T
    1425             :     UINT64_C(0),        // VLD1d16TPseudo
    1426             :     UINT64_C(4095739469),       // VLD1d16Twb_fixed
    1427             :     UINT64_C(4095739456),       // VLD1d16Twb_register
    1428             :     UINT64_C(4095739725),       // VLD1d16wb_fixed
    1429             :     UINT64_C(4095739712),       // VLD1d16wb_register
    1430             :     UINT64_C(4095739791),       // VLD1d32
    1431             :     UINT64_C(4095738511),       // VLD1d32Q
    1432             :     UINT64_C(0),        // VLD1d32QPseudo
    1433             :     UINT64_C(4095738509),       // VLD1d32Qwb_fixed
    1434             :     UINT64_C(4095738496),       // VLD1d32Qwb_register
    1435             :     UINT64_C(4095739535),       // VLD1d32T
    1436             :     UINT64_C(0),        // VLD1d32TPseudo
    1437             :     UINT64_C(4095739533),       // VLD1d32Twb_fixed
    1438             :     UINT64_C(4095739520),       // VLD1d32Twb_register
    1439             :     UINT64_C(4095739789),       // VLD1d32wb_fixed
    1440             :     UINT64_C(4095739776),       // VLD1d32wb_register
    1441             :     UINT64_C(4095739855),       // VLD1d64
    1442             :     UINT64_C(4095738575),       // VLD1d64Q
    1443             :     UINT64_C(0),        // VLD1d64QPseudo
    1444             :     UINT64_C(0),        // VLD1d64QPseudoWB_fixed
    1445             :     UINT64_C(0),        // VLD1d64QPseudoWB_register
    1446             :     UINT64_C(4095738573),       // VLD1d64Qwb_fixed
    1447             :     UINT64_C(4095738560),       // VLD1d64Qwb_register
    1448             :     UINT64_C(4095739599),       // VLD1d64T
    1449             :     UINT64_C(0),        // VLD1d64TPseudo
    1450             :     UINT64_C(0),        // VLD1d64TPseudoWB_fixed
    1451             :     UINT64_C(0),        // VLD1d64TPseudoWB_register
    1452             :     UINT64_C(4095739597),       // VLD1d64Twb_fixed
    1453             :     UINT64_C(4095739584),       // VLD1d64Twb_register
    1454             :     UINT64_C(4095739853),       // VLD1d64wb_fixed
    1455             :     UINT64_C(4095739840),       // VLD1d64wb_register
    1456             :     UINT64_C(4095739663),       // VLD1d8
    1457             :     UINT64_C(4095738383),       // VLD1d8Q
    1458             :     UINT64_C(0),        // VLD1d8QPseudo
    1459             :     UINT64_C(4095738381),       // VLD1d8Qwb_fixed
    1460             :     UINT64_C(4095738368),       // VLD1d8Qwb_register
    1461             :     UINT64_C(4095739407),       // VLD1d8T
    1462             :     UINT64_C(0),        // VLD1d8TPseudo
    1463             :     UINT64_C(4095739405),       // VLD1d8Twb_fixed
    1464             :     UINT64_C(4095739392),       // VLD1d8Twb_register
    1465             :     UINT64_C(4095739661),       // VLD1d8wb_fixed
    1466             :     UINT64_C(4095739648),       // VLD1d8wb_register
    1467             :     UINT64_C(4095740495),       // VLD1q16
    1468             :     UINT64_C(0),        // VLD1q16HighQPseudo
    1469             :     UINT64_C(0),        // VLD1q16HighTPseudo
    1470             :     UINT64_C(0),        // VLD1q16LowQPseudo_UPD
    1471             :     UINT64_C(0),        // VLD1q16LowTPseudo_UPD
    1472             :     UINT64_C(4095740493),       // VLD1q16wb_fixed
    1473             :     UINT64_C(4095740480),       // VLD1q16wb_register
    1474             :     UINT64_C(4095740559),       // VLD1q32
    1475             :     UINT64_C(0),        // VLD1q32HighQPseudo
    1476             :     UINT64_C(0),        // VLD1q32HighTPseudo
    1477             :     UINT64_C(0),        // VLD1q32LowQPseudo_UPD
    1478             :     UINT64_C(0),        // VLD1q32LowTPseudo_UPD
    1479             :     UINT64_C(4095740557),       // VLD1q32wb_fixed
    1480             :     UINT64_C(4095740544),       // VLD1q32wb_register
    1481             :     UINT64_C(4095740623),       // VLD1q64
    1482             :     UINT64_C(0),        // VLD1q64HighQPseudo
    1483             :     UINT64_C(0),        // VLD1q64HighTPseudo
    1484             :     UINT64_C(0),        // VLD1q64LowQPseudo_UPD
    1485             :     UINT64_C(0),        // VLD1q64LowTPseudo_UPD
    1486             :     UINT64_C(4095740621),       // VLD1q64wb_fixed
    1487             :     UINT64_C(4095740608),       // VLD1q64wb_register
    1488             :     UINT64_C(4095740431),       // VLD1q8
    1489             :     UINT64_C(0),        // VLD1q8HighQPseudo
    1490             :     UINT64_C(0),        // VLD1q8HighTPseudo
    1491             :     UINT64_C(0),        // VLD1q8LowQPseudo_UPD
    1492             :     UINT64_C(0),        // VLD1q8LowTPseudo_UPD
    1493             :     UINT64_C(4095740429),       // VLD1q8wb_fixed
    1494             :     UINT64_C(4095740416),       // VLD1q8wb_register
    1495             :     UINT64_C(4104129871),       // VLD2DUPd16
    1496             :     UINT64_C(4104129869),       // VLD2DUPd16wb_fixed
    1497             :     UINT64_C(4104129856),       // VLD2DUPd16wb_register
    1498             :     UINT64_C(4104129903),       // VLD2DUPd16x2
    1499             :     UINT64_C(4104129901),       // VLD2DUPd16x2wb_fixed
    1500             :     UINT64_C(4104129888),       // VLD2DUPd16x2wb_register
    1501             :     UINT64_C(4104129935),       // VLD2DUPd32
    1502             :     UINT64_C(4104129933),       // VLD2DUPd32wb_fixed
    1503             :     UINT64_C(4104129920),       // VLD2DUPd32wb_register
    1504             :     UINT64_C(4104129967),       // VLD2DUPd32x2
    1505             :     UINT64_C(4104129965),       // VLD2DUPd32x2wb_fixed
    1506             :     UINT64_C(4104129952),       // VLD2DUPd32x2wb_register
    1507             :     UINT64_C(4104129807),       // VLD2DUPd8
    1508             :     UINT64_C(4104129805),       // VLD2DUPd8wb_fixed
    1509             :     UINT64_C(4104129792),       // VLD2DUPd8wb_register
    1510             :     UINT64_C(4104129839),       // VLD2DUPd8x2
    1511             :     UINT64_C(4104129837),       // VLD2DUPd8x2wb_fixed
    1512             :     UINT64_C(4104129824),       // VLD2DUPd8x2wb_register
    1513             :     UINT64_C(0),        // VLD2DUPq16EvenPseudo
    1514             :     UINT64_C(0),        // VLD2DUPq16OddPseudo
    1515             :     UINT64_C(0),        // VLD2DUPq32EvenPseudo
    1516             :     UINT64_C(0),        // VLD2DUPq32OddPseudo
    1517             :     UINT64_C(0),        // VLD2DUPq8EvenPseudo
    1518             :     UINT64_C(0),        // VLD2DUPq8OddPseudo
    1519             :     UINT64_C(4104127759),       // VLD2LNd16
    1520             :     UINT64_C(0),        // VLD2LNd16Pseudo
    1521             :     UINT64_C(0),        // VLD2LNd16Pseudo_UPD
    1522             :     UINT64_C(4104127744),       // VLD2LNd16_UPD
    1523             :     UINT64_C(4104128783),       // VLD2LNd32
    1524             :     UINT64_C(0),        // VLD2LNd32Pseudo
    1525             :     UINT64_C(0),        // VLD2LNd32Pseudo_UPD
    1526             :     UINT64_C(4104128768),       // VLD2LNd32_UPD
    1527             :     UINT64_C(4104126735),       // VLD2LNd8
    1528             :     UINT64_C(0),        // VLD2LNd8Pseudo
    1529             :     UINT64_C(0),        // VLD2LNd8Pseudo_UPD
    1530             :     UINT64_C(4104126720),       // VLD2LNd8_UPD
    1531             :     UINT64_C(4104127791),       // VLD2LNq16
    1532             :     UINT64_C(0),        // VLD2LNq16Pseudo
    1533             :     UINT64_C(0),        // VLD2LNq16Pseudo_UPD
    1534             :     UINT64_C(4104127776),       // VLD2LNq16_UPD
    1535             :     UINT64_C(4104128847),       // VLD2LNq32
    1536             :     UINT64_C(0),        // VLD2LNq32Pseudo
    1537             :     UINT64_C(0),        // VLD2LNq32Pseudo_UPD
    1538             :     UINT64_C(4104128832),       // VLD2LNq32_UPD
    1539             :     UINT64_C(4095740239),       // VLD2b16
    1540             :     UINT64_C(4095740237),       // VLD2b16wb_fixed
    1541             :     UINT64_C(4095740224),       // VLD2b16wb_register
    1542             :     UINT64_C(4095740303),       // VLD2b32
    1543             :     UINT64_C(4095740301),       // VLD2b32wb_fixed
    1544             :     UINT64_C(4095740288),       // VLD2b32wb_register
    1545             :     UINT64_C(4095740175),       // VLD2b8
    1546             :     UINT64_C(4095740173),       // VLD2b8wb_fixed
    1547             :     UINT64_C(4095740160),       // VLD2b8wb_register
    1548             :     UINT64_C(4095739983),       // VLD2d16
    1549             :     UINT64_C(4095739981),       // VLD2d16wb_fixed
    1550             :     UINT64_C(4095739968),       // VLD2d16wb_register
    1551             :     UINT64_C(4095740047),       // VLD2d32
    1552             :     UINT64_C(4095740045),       // VLD2d32wb_fixed
    1553             :     UINT64_C(4095740032),       // VLD2d32wb_register
    1554             :     UINT64_C(4095739919),       // VLD2d8
    1555             :     UINT64_C(4095739917),       // VLD2d8wb_fixed
    1556             :     UINT64_C(4095739904),       // VLD2d8wb_register
    1557             :     UINT64_C(4095738703),       // VLD2q16
    1558             :     UINT64_C(0),        // VLD2q16Pseudo
    1559             :     UINT64_C(0),        // VLD2q16PseudoWB_fixed
    1560             :     UINT64_C(0),        // VLD2q16PseudoWB_register
    1561             :     UINT64_C(4095738701),       // VLD2q16wb_fixed
    1562             :     UINT64_C(4095738688),       // VLD2q16wb_register
    1563             :     UINT64_C(4095738767),       // VLD2q32
    1564             :     UINT64_C(0),        // VLD2q32Pseudo
    1565             :     UINT64_C(0),        // VLD2q32PseudoWB_fixed
    1566             :     UINT64_C(0),        // VLD2q32PseudoWB_register
    1567             :     UINT64_C(4095738765),       // VLD2q32wb_fixed
    1568             :     UINT64_C(4095738752),       // VLD2q32wb_register
    1569             :     UINT64_C(4095738639),       // VLD2q8
    1570             :     UINT64_C(0),        // VLD2q8Pseudo
    1571             :     UINT64_C(0),        // VLD2q8PseudoWB_fixed
    1572             :     UINT64_C(0),        // VLD2q8PseudoWB_register
    1573             :     UINT64_C(4095738637),       // VLD2q8wb_fixed
    1574             :     UINT64_C(4095738624),       // VLD2q8wb_register
    1575             :     UINT64_C(4104130127),       // VLD3DUPd16
    1576             :     UINT64_C(0),        // VLD3DUPd16Pseudo
    1577             :     UINT64_C(0),        // VLD3DUPd16Pseudo_UPD
    1578             :     UINT64_C(4104130112),       // VLD3DUPd16_UPD
    1579             :     UINT64_C(4104130191),       // VLD3DUPd32
    1580             :     UINT64_C(0),        // VLD3DUPd32Pseudo
    1581             :     UINT64_C(0),        // VLD3DUPd32Pseudo_UPD
    1582             :     UINT64_C(4104130176),       // VLD3DUPd32_UPD
    1583             :     UINT64_C(4104130063),       // VLD3DUPd8
    1584             :     UINT64_C(0),        // VLD3DUPd8Pseudo
    1585             :     UINT64_C(0),        // VLD3DUPd8Pseudo_UPD
    1586             :     UINT64_C(4104130048),       // VLD3DUPd8_UPD
    1587             :     UINT64_C(4104130159),       // VLD3DUPq16
    1588             :     UINT64_C(0),        // VLD3DUPq16EvenPseudo
    1589             :     UINT64_C(0),        // VLD3DUPq16OddPseudo
    1590             :     UINT64_C(4104130144),       // VLD3DUPq16_UPD
    1591             :     UINT64_C(4104130223),       // VLD3DUPq32
    1592             :     UINT64_C(0),        // VLD3DUPq32EvenPseudo
    1593             :     UINT64_C(0),        // VLD3DUPq32OddPseudo
    1594             :     UINT64_C(4104130208),       // VLD3DUPq32_UPD
    1595             :     UINT64_C(4104130095),       // VLD3DUPq8
    1596             :     UINT64_C(0),        // VLD3DUPq8EvenPseudo
    1597             :     UINT64_C(0),        // VLD3DUPq8OddPseudo
    1598             :     UINT64_C(4104130080),       // VLD3DUPq8_UPD
    1599             :     UINT64_C(4104128015),       // VLD3LNd16
    1600             :     UINT64_C(0),        // VLD3LNd16Pseudo
    1601             :     UINT64_C(0),        // VLD3LNd16Pseudo_UPD
    1602             :     UINT64_C(4104128000),       // VLD3LNd16_UPD
    1603             :     UINT64_C(4104129039),       // VLD3LNd32
    1604             :     UINT64_C(0),        // VLD3LNd32Pseudo
    1605             :     UINT64_C(0),        // VLD3LNd32Pseudo_UPD
    1606             :     UINT64_C(4104129024),       // VLD3LNd32_UPD
    1607             :     UINT64_C(4104126991),       // VLD3LNd8
    1608             :     UINT64_C(0),        // VLD3LNd8Pseudo
    1609             :     UINT64_C(0),        // VLD3LNd8Pseudo_UPD
    1610             :     UINT64_C(4104126976),       // VLD3LNd8_UPD
    1611             :     UINT64_C(4104128047),       // VLD3LNq16
    1612             :     UINT64_C(0),        // VLD3LNq16Pseudo
    1613             :     UINT64_C(0),        // VLD3LNq16Pseudo_UPD
    1614             :     UINT64_C(4104128032),       // VLD3LNq16_UPD
    1615             :     UINT64_C(4104129103),       // VLD3LNq32
    1616             :     UINT64_C(0),        // VLD3LNq32Pseudo
    1617             :     UINT64_C(0),        // VLD3LNq32Pseudo_UPD
    1618             :     UINT64_C(4104129088),       // VLD3LNq32_UPD
    1619             :     UINT64_C(4095738959),       // VLD3d16
    1620             :     UINT64_C(0),        // VLD3d16Pseudo
    1621             :     UINT64_C(0),        // VLD3d16Pseudo_UPD
    1622             :     UINT64_C(4095738944),       // VLD3d16_UPD
    1623             :     UINT64_C(4095739023),       // VLD3d32
    1624             :     UINT64_C(0),        // VLD3d32Pseudo
    1625             :     UINT64_C(0),        // VLD3d32Pseudo_UPD
    1626             :     UINT64_C(4095739008),       // VLD3d32_UPD
    1627             :     UINT64_C(4095738895),       // VLD3d8
    1628             :     UINT64_C(0),        // VLD3d8Pseudo
    1629             :     UINT64_C(0),        // VLD3d8Pseudo_UPD
    1630             :     UINT64_C(4095738880),       // VLD3d8_UPD
    1631             :     UINT64_C(4095739215),       // VLD3q16
    1632             :     UINT64_C(0),        // VLD3q16Pseudo_UPD
    1633             :     UINT64_C(4095739200),       // VLD3q16_UPD
    1634             :     UINT64_C(0),        // VLD3q16oddPseudo
    1635             :     UINT64_C(0),        // VLD3q16oddPseudo_UPD
    1636             :     UINT64_C(4095739279),       // VLD3q32
    1637             :     UINT64_C(0),        // VLD3q32Pseudo_UPD
    1638             :     UINT64_C(4095739264),       // VLD3q32_UPD
    1639             :     UINT64_C(0),        // VLD3q32oddPseudo
    1640             :     UINT64_C(0),        // VLD3q32oddPseudo_UPD
    1641             :     UINT64_C(4095739151),       // VLD3q8
    1642             :     UINT64_C(0),        // VLD3q8Pseudo_UPD
    1643             :     UINT64_C(4095739136),       // VLD3q8_UPD
    1644             :     UINT64_C(0),        // VLD3q8oddPseudo
    1645             :     UINT64_C(0),        // VLD3q8oddPseudo_UPD
    1646             :     UINT64_C(4104130383),       // VLD4DUPd16
    1647             :     UINT64_C(0),        // VLD4DUPd16Pseudo
    1648             :     UINT64_C(0),        // VLD4DUPd16Pseudo_UPD
    1649             :     UINT64_C(4104130368),       // VLD4DUPd16_UPD
    1650             :     UINT64_C(4104130447),       // VLD4DUPd32
    1651             :     UINT64_C(0),        // VLD4DUPd32Pseudo
    1652             :     UINT64_C(0),        // VLD4DUPd32Pseudo_UPD
    1653             :     UINT64_C(4104130432),       // VLD4DUPd32_UPD
    1654             :     UINT64_C(4104130319),       // VLD4DUPd8
    1655             :     UINT64_C(0),        // VLD4DUPd8Pseudo
    1656             :     UINT64_C(0),        // VLD4DUPd8Pseudo_UPD
    1657             :     UINT64_C(4104130304),       // VLD4DUPd8_UPD
    1658             :     UINT64_C(4104130415),       // VLD4DUPq16
    1659             :     UINT64_C(0),        // VLD4DUPq16EvenPseudo
    1660             :     UINT64_C(0),        // VLD4DUPq16OddPseudo
    1661             :     UINT64_C(4104130400),       // VLD4DUPq16_UPD
    1662             :     UINT64_C(4104130479),       // VLD4DUPq32
    1663             :     UINT64_C(0),        // VLD4DUPq32EvenPseudo
    1664             :     UINT64_C(0),        // VLD4DUPq32OddPseudo
    1665             :     UINT64_C(4104130464),       // VLD4DUPq32_UPD
    1666             :     UINT64_C(4104130351),       // VLD4DUPq8
    1667             :     UINT64_C(0),        // VLD4DUPq8EvenPseudo
    1668             :     UINT64_C(0),        // VLD4DUPq8OddPseudo
    1669             :     UINT64_C(4104130336),       // VLD4DUPq8_UPD
    1670             :     UINT64_C(4104128271),       // VLD4LNd16
    1671             :     UINT64_C(0),        // VLD4LNd16Pseudo
    1672             :     UINT64_C(0),        // VLD4LNd16Pseudo_UPD
    1673             :     UINT64_C(4104128256),       // VLD4LNd16_UPD
    1674             :     UINT64_C(4104129295),       // VLD4LNd32
    1675             :     UINT64_C(0),        // VLD4LNd32Pseudo
    1676             :     UINT64_C(0),        // VLD4LNd32Pseudo_UPD
    1677             :     UINT64_C(4104129280),       // VLD4LNd32_UPD
    1678             :     UINT64_C(4104127247),       // VLD4LNd8
    1679             :     UINT64_C(0),        // VLD4LNd8Pseudo
    1680             :     UINT64_C(0),        // VLD4LNd8Pseudo_UPD
    1681             :     UINT64_C(4104127232),       // VLD4LNd8_UPD
    1682             :     UINT64_C(4104128303),       // VLD4LNq16
    1683             :     UINT64_C(0),        // VLD4LNq16Pseudo
    1684             :     UINT64_C(0),        // VLD4LNq16Pseudo_UPD
    1685             :     UINT64_C(4104128288),       // VLD4LNq16_UPD
    1686             :     UINT64_C(4104129359),       // VLD4LNq32
    1687             :     UINT64_C(0),        // VLD4LNq32Pseudo
    1688             :     UINT64_C(0),        // VLD4LNq32Pseudo_UPD
    1689             :     UINT64_C(4104129344),       // VLD4LNq32_UPD
    1690             :     UINT64_C(4095737935),       // VLD4d16
    1691             :     UINT64_C(0),        // VLD4d16Pseudo
    1692             :     UINT64_C(0),        // VLD4d16Pseudo_UPD
    1693             :     UINT64_C(4095737920),       // VLD4d16_UPD
    1694             :     UINT64_C(4095737999),       // VLD4d32
    1695             :     UINT64_C(0),        // VLD4d32Pseudo
    1696             :     UINT64_C(0),        // VLD4d32Pseudo_UPD
    1697             :     UINT64_C(4095737984),       // VLD4d32_UPD
    1698             :     UINT64_C(4095737871),       // VLD4d8
    1699             :     UINT64_C(0),        // VLD4d8Pseudo
    1700             :     UINT64_C(0),        // VLD4d8Pseudo_UPD
    1701             :     UINT64_C(4095737856),       // VLD4d8_UPD
    1702             :     UINT64_C(4095738191),       // VLD4q16
    1703             :     UINT64_C(0),        // VLD4q16Pseudo_UPD
    1704             :     UINT64_C(4095738176),       // VLD4q16_UPD
    1705             :     UINT64_C(0),        // VLD4q16oddPseudo
    1706             :     UINT64_C(0),        // VLD4q16oddPseudo_UPD
    1707             :     UINT64_C(4095738255),       // VLD4q32
    1708             :     UINT64_C(0),        // VLD4q32Pseudo_UPD
    1709             :     UINT64_C(4095738240),       // VLD4q32_UPD
    1710             :     UINT64_C(0),        // VLD4q32oddPseudo
    1711             :     UINT64_C(0),        // VLD4q32oddPseudo_UPD
    1712             :     UINT64_C(4095738127),       // VLD4q8
    1713             :     UINT64_C(0),        // VLD4q8Pseudo_UPD
    1714             :     UINT64_C(4095738112),       // VLD4q8_UPD
    1715             :     UINT64_C(0),        // VLD4q8oddPseudo
    1716             :     UINT64_C(0),        // VLD4q8oddPseudo_UPD
    1717             :     UINT64_C(221252352),        // VLDMDDB_UPD
    1718             :     UINT64_C(210766592),        // VLDMDIA
    1719             :     UINT64_C(212863744),        // VLDMDIA_UPD
    1720             :     UINT64_C(0),        // VLDMQIA
    1721             :     UINT64_C(221252096),        // VLDMSDB_UPD
    1722             :     UINT64_C(210766336),        // VLDMSIA
    1723             :     UINT64_C(212863488),        // VLDMSIA_UPD
    1724             :     UINT64_C(219155200),        // VLDRD
    1725             :     UINT64_C(219154688),        // VLDRH
    1726             :     UINT64_C(219154944),        // VLDRS
    1727             :     UINT64_C(204474880),        // VLLDM
    1728             :     UINT64_C(203426304),        // VLSTM
    1729             :     UINT64_C(4269804288),       // VMAXNMD
    1730             :     UINT64_C(4269803776),       // VMAXNMH
    1731             :     UINT64_C(4076867344),       // VMAXNMNDf
    1732             :     UINT64_C(4077915920),       // VMAXNMNDh
    1733             :     UINT64_C(4076867408),       // VMAXNMNQf
    1734             :     UINT64_C(4077915984),       // VMAXNMNQh
    1735             :     UINT64_C(4269804032),       // VMAXNMS
    1736             :     UINT64_C(4060090112),       // VMAXfd
    1737             :     UINT64_C(4060090176),       // VMAXfq
    1738             :     UINT64_C(4061138688),       // VMAXhd
    1739             :     UINT64_C(4061138752),       // VMAXhq
    1740             :     UINT64_C(4060087872),       // VMAXsv16i8
    1741             :     UINT64_C(4062184960),       // VMAXsv2i32
    1742             :     UINT64_C(4061136384),       // VMAXsv4i16
    1743             :     UINT64_C(4062185024),       // VMAXsv4i32
    1744             :     UINT64_C(4061136448),       // VMAXsv8i16
    1745             :     UINT64_C(4060087808),       // VMAXsv8i8
    1746             :     UINT64_C(4076865088),       // VMAXuv16i8
    1747             :     UINT64_C(4078962176),       // VMAXuv2i32
    1748             :     UINT64_C(4077913600),       // VMAXuv4i16
    1749             :     UINT64_C(4078962240),       // VMAXuv4i32
    1750             :     UINT64_C(4077913664),       // VMAXuv8i16
    1751             :     UINT64_C(4076865024),       // VMAXuv8i8
    1752             :     UINT64_C(4269804352),       // VMINNMD
    1753             :     UINT64_C(4269803840),       // VMINNMH
    1754             :     UINT64_C(4078964496),       // VMINNMNDf
    1755             :     UINT64_C(4080013072),       // VMINNMNDh
    1756             :     UINT64_C(4078964560),       // VMINNMNQf
    1757             :     UINT64_C(4080013136),       // VMINNMNQh
    1758             :     UINT64_C(4269804096),       // VMINNMS
    1759             :     UINT64_C(4062187264),       // VMINfd
    1760             :     UINT64_C(4062187328),       // VMINfq
    1761             :     UINT64_C(4063235840),       // VMINhd
    1762             :     UINT64_C(4063235904),       // VMINhq
    1763             :     UINT64_C(4060087888),       // VMINsv16i8
    1764             :     UINT64_C(4062184976),       // VMINsv2i32
    1765             :     UINT64_C(4061136400),       // VMINsv4i16
    1766             :     UINT64_C(4062185040),       // VMINsv4i32
    1767             :     UINT64_C(4061136464),       // VMINsv8i16
    1768             :     UINT64_C(4060087824),       // VMINsv8i8
    1769             :     UINT64_C(4076865104),       // VMINuv16i8
    1770             :     UINT64_C(4078962192),       // VMINuv2i32
    1771             :     UINT64_C(4077913616),       // VMINuv4i16
    1772             :     UINT64_C(4078962256),       // VMINuv4i32
    1773             :     UINT64_C(4077913680),       // VMINuv8i16
    1774             :     UINT64_C(4076865040),       // VMINuv8i8
    1775             :     UINT64_C(234883840),        // VMLAD
    1776             :     UINT64_C(234883328),        // VMLAH
    1777             :     UINT64_C(4070572608),       // VMLALslsv2i32
    1778             :     UINT64_C(4069524032),       // VMLALslsv4i16
    1779             :     UINT64_C(4087349824),       // VMLALsluv2i32
    1780             :     UINT64_C(4086301248),       // VMLALsluv4i16
    1781             :     UINT64_C(4070574080),       // VMLALsv2i64
    1782             :     UINT64_C(4069525504),       // VMLALsv4i32
    1783             :     UINT64_C(4068476928),       // VMLALsv8i16
    1784             :     UINT64_C(4087351296),       // VMLALuv2i64
    1785             :     UINT64_C(4086302720),       // VMLALuv4i32
    1786             :     UINT64_C(4085254144),       // VMLALuv8i16
    1787             :     UINT64_C(234883584),        // VMLAS
    1788             :     UINT64_C(4060089616),       // VMLAfd
    1789             :     UINT64_C(4060089680),       // VMLAfq
    1790             :     UINT64_C(4061138192),       // VMLAhd
    1791             :     UINT64_C(4061138256),       // VMLAhq
    1792             :     UINT64_C(4070572352),       // VMLAslfd
    1793             :     UINT64_C(4087349568),       // VMLAslfq
    1794             :     UINT64_C(4069523776),       // VMLAslhd
    1795             :     UINT64_C(4086300992),       // VMLAslhq
    1796             :     UINT64_C(4070572096),       // VMLAslv2i32
    1797             :     UINT64_C(4069523520),       // VMLAslv4i16
    1798             :     UINT64_C(4087349312),       // VMLAslv4i32
    1799             :     UINT64_C(4086300736),       // VMLAslv8i16
    1800             :     UINT64_C(4060088640),       // VMLAv16i8
    1801             :     UINT64_C(4062185728),       // VMLAv2i32
    1802             :     UINT64_C(4061137152),       // VMLAv4i16
    1803             :     UINT64_C(4062185792),       // VMLAv4i32
    1804             :     UINT64_C(4061137216),       // VMLAv8i16
    1805             :     UINT64_C(4060088576),       // VMLAv8i8
    1806             :     UINT64_C(234883904),        // VMLSD
    1807             :     UINT64_C(234883392),        // VMLSH
    1808             :     UINT64_C(4070573632),       // VMLSLslsv2i32
    1809             :     UINT64_C(4069525056),       // VMLSLslsv4i16
    1810             :     UINT64_C(4087350848),       // VMLSLsluv2i32
    1811             :     UINT64_C(4086302272),       // VMLSLsluv4i16
    1812             :     UINT64_C(4070574592),       // VMLSLsv2i64
    1813             :     UINT64_C(4069526016),       // VMLSLsv4i32
    1814             :     UINT64_C(4068477440),       // VMLSLsv8i16
    1815             :     UINT64_C(4087351808),       // VMLSLuv2i64
    1816             :     UINT64_C(4086303232),       // VMLSLuv4i32
    1817             :     UINT64_C(4085254656),       // VMLSLuv8i16
    1818             :     UINT64_C(234883648),        // VMLSS
    1819             :     UINT64_C(4062186768),       // VMLSfd
    1820             :     UINT64_C(4062186832),       // VMLSfq
    1821             :     UINT64_C(4063235344),       // VMLShd
    1822             :     UINT64_C(4063235408),       // VMLShq
    1823             :     UINT64_C(4070573376),       // VMLSslfd
    1824             :     UINT64_C(4087350592),       // VMLSslfq
    1825             :     UINT64_C(4069524800),       // VMLSslhd
    1826             :     UINT64_C(4086302016),       // VMLSslhq
    1827             :     UINT64_C(4070573120),       // VMLSslv2i32
    1828             :     UINT64_C(4069524544),       // VMLSslv4i16
    1829             :     UINT64_C(4087350336),       // VMLSslv4i32
    1830             :     UINT64_C(4086301760),       // VMLSslv8i16
    1831             :     UINT64_C(4076865856),       // VMLSv16i8
    1832             :     UINT64_C(4078962944),       // VMLSv2i32
    1833             :     UINT64_C(4077914368),       // VMLSv4i16
    1834             :     UINT64_C(4078963008),       // VMLSv4i32
    1835             :     UINT64_C(4077914432),       // VMLSv8i16
    1836             :     UINT64_C(4076865792),       // VMLSv8i8
    1837             :     UINT64_C(246418240),        // VMOVD
    1838             :     UINT64_C(205523728),        // VMOVDRR
    1839             :     UINT64_C(4272949824),       // VMOVH
    1840             :     UINT64_C(234883344),        // VMOVHR
    1841             :     UINT64_C(4070574608),       // VMOVLsv2i64
    1842             :     UINT64_C(4069526032),       // VMOVLsv4i32
    1843             :     UINT64_C(4069001744),       // VMOVLsv8i16
    1844             :     UINT64_C(4087351824),       // VMOVLuv2i64
    1845             :     UINT64_C(4086303248),       // VMOVLuv4i32
    1846             :     UINT64_C(4085778960),       // VMOVLuv8i16
    1847             :     UINT64_C(4089053696),       // VMOVNv2i32
    1848             :     UINT64_C(4088791552),       // VMOVNv4i16
    1849             :     UINT64_C(4088529408),       // VMOVNv8i8
    1850             :     UINT64_C(235931920),        // VMOVRH
    1851             :     UINT64_C(206572304),        // VMOVRRD
    1852             :     UINT64_C(206572048),        // VMOVRRS
    1853             :     UINT64_C(235932176),        // VMOVRS
    1854             :     UINT64_C(246417984),        // VMOVS
    1855             :     UINT64_C(234883600),        // VMOVSR
    1856             :     UINT64_C(205523472),        // VMOVSRR
    1857             :     UINT64_C(4068478544),       // VMOVv16i8
    1858             :     UINT64_C(4068478512),       // VMOVv1i64
    1859             :     UINT64_C(4068478736),       // VMOVv2f32
    1860             :     UINT64_C(4068474896),       // VMOVv2i32
    1861             :     UINT64_C(4068478576),       // VMOVv2i64
    1862             :     UINT64_C(4068478800),       // VMOVv4f32
    1863             :     UINT64_C(4068476944),       // VMOVv4i16
    1864             :     UINT64_C(4068474960),       // VMOVv4i32
    1865             :     UINT64_C(4068477008),       // VMOVv8i16
    1866             :     UINT64_C(4068478480),       // VMOVv8i8
    1867             :     UINT64_C(250677776),        // VMRS
    1868             :     UINT64_C(251136528),        // VMRS_FPEXC
    1869             :     UINT64_C(251202064),        // VMRS_FPINST
    1870             :     UINT64_C(251267600),        // VMRS_FPINST2
    1871             :     UINT64_C(250612240),        // VMRS_FPSID
    1872             :     UINT64_C(251070992),        // VMRS_MVFR0
    1873             :     UINT64_C(251005456),        // VMRS_MVFR1
    1874             :     UINT64_C(250939920),        // VMRS_MVFR2
    1875             :     UINT64_C(249629200),        // VMSR
    1876             :     UINT64_C(250087952),        // VMSR_FPEXC
    1877             :     UINT64_C(250153488),        // VMSR_FPINST
    1878             :     UINT64_C(250219024),        // VMSR_FPINST2
    1879             :     UINT64_C(249563664),        // VMSR_FPSID
    1880             :     UINT64_C(236980992),        // VMULD
    1881             :     UINT64_C(236980480),        // VMULH
    1882             :     UINT64_C(4070575616),       // VMULLp64
    1883             :     UINT64_C(4068478464),       // VMULLp8
    1884             :     UINT64_C(4070574656),       // VMULLslsv2i32
    1885             :     UINT64_C(4069526080),       // VMULLslsv4i16
    1886             :     UINT64_C(4087351872),       // VMULLsluv2i32
    1887             :     UINT64_C(4086303296),       // VMULLsluv4i16
    1888             :     UINT64_C(4070575104),       // VMULLsv2i64
    1889             :     UINT64_C(4069526528),       // VMULLsv4i32
    1890             :     UINT64_C(4068477952),       // VMULLsv8i16
    1891             :     UINT64_C(4087352320),       // VMULLuv2i64
    1892             :     UINT64_C(4086303744),       // VMULLuv4i32
    1893             :     UINT64_C(4085255168),       // VMULLuv8i16
    1894             :     UINT64_C(236980736),        // VMULS
    1895             :     UINT64_C(4076866832),       // VMULfd
    1896             :     UINT64_C(4076866896),       // VMULfq
    1897             :     UINT64_C(4077915408),       // VMULhd
    1898             :     UINT64_C(4077915472),       // VMULhq
    1899             :     UINT64_C(4076865808),       // VMULpd
    1900             :     UINT64_C(4076865872),       // VMULpq
    1901             :     UINT64_C(4070574400),       // VMULslfd
    1902             :     UINT64_C(4087351616),       // VMULslfq
    1903             :     UINT64_C(4069525824),       // VMULslhd
    1904             :     UINT64_C(4086303040),       // VMULslhq
    1905             :     UINT64_C(4070574144),       // VMULslv2i32
    1906             :     UINT64_C(4069525568),       // VMULslv4i16
    1907             :     UINT64_C(4087351360),       // VMULslv4i32
    1908             :     UINT64_C(4086302784),       // VMULslv8i16
    1909             :     UINT64_C(4060088656),       // VMULv16i8
    1910             :     UINT64_C(4062185744),       // VMULv2i32
    1911             :     UINT64_C(4061137168),       // VMULv4i16
    1912             :     UINT64_C(4062185808),       // VMULv4i32
    1913             :     UINT64_C(4061137232),       // VMULv8i16
    1914             :     UINT64_C(4060088592),       // VMULv8i8
    1915             :     UINT64_C(4088399232),       // VMVNd
    1916             :     UINT64_C(4088399296),       // VMVNq
    1917             :     UINT64_C(4068474928),       // VMVNv2i32
    1918             :     UINT64_C(4068476976),       // VMVNv4i16
    1919             :     UINT64_C(4068474992),       // VMVNv4i32
    1920             :     UINT64_C(4068477040),       // VMVNv8i16
    1921             :     UINT64_C(246483776),        // VNEGD
    1922             :     UINT64_C(246483264),        // VNEGH
    1923             :     UINT64_C(246483520),        // VNEGS
    1924             :     UINT64_C(4088989632),       // VNEGf32q
    1925             :     UINT64_C(4088989568),       // VNEGfd
    1926             :     UINT64_C(4088727424),       // VNEGhd
    1927             :     UINT64_C(4088727488),       // VNEGhq
    1928             :     UINT64_C(4088726400),       // VNEGs16d
    1929             :     UINT64_C(4088726464),       // VNEGs16q
    1930             :     UINT64_C(4088988544),       // VNEGs32d
    1931             :     UINT64_C(4088988608),       // VNEGs32q
    1932             :     UINT64_C(4088464256),       // VNEGs8d
    1933             :     UINT64_C(4088464320),       // VNEGs8q
    1934             :     UINT64_C(235932480),        // VNMLAD
    1935             :     UINT64_C(235931968),        // VNMLAH
    1936             :     UINT64_C(235932224),        // VNMLAS
    1937             :     UINT64_C(235932416),        // VNMLSD
    1938             :     UINT64_C(235931904),        // VNMLSH
    1939             :     UINT64_C(235932160),        // VNMLSS
    1940             :     UINT64_C(236981056),        // VNMULD
    1941             :     UINT64_C(236980544),        // VNMULH
    1942             :     UINT64_C(236980800),        // VNMULS
    1943             :     UINT64_C(4063232272),       // VORNd
    1944             :     UINT64_C(4063232336),       // VORNq
    1945             :     UINT64_C(4062183696),       // VORRd
    1946             :     UINT64_C(4068475152),       // VORRiv2i32
    1947             :     UINT64_C(4068477200),       // VORRiv4i16
    1948             :     UINT64_C(4068475216),       // VORRiv4i32
    1949             :     UINT64_C(4068477264),       // VORRiv8i16
    1950             :     UINT64_C(4062183760),       // VORRq
    1951             :     UINT64_C(4088399424),       // VPADALsv16i8
    1952             :     UINT64_C(4088923648),       // VPADALsv2i32
    1953             :     UINT64_C(4088661504),       // VPADALsv4i16
    1954             :     UINT64_C(4088923712),       // VPADALsv4i32
    1955             :     UINT64_C(4088661568),       // VPADALsv8i16
    1956             :     UINT64_C(4088399360),       // VPADALsv8i8
    1957             :     UINT64_C(4088399552),       // VPADALuv16i8
    1958             :     UINT64_C(4088923776),       // VPADALuv2i32
    1959             :     UINT64_C(4088661632),       // VPADALuv4i16
    1960             :     UINT64_C(4088923840),       // VPADALuv4i32
    1961             :     UINT64_C(4088661696),       // VPADALuv8i16
    1962             :     UINT64_C(4088399488),       // VPADALuv8i8
    1963             :     UINT64_C(4088398400),       // VPADDLsv16i8
    1964             :     UINT64_C(4088922624),       // VPADDLsv2i32
    1965             :     UINT64_C(4088660480),       // VPADDLsv4i16
    1966             :     UINT64_C(4088922688),       // VPADDLsv4i32
    1967             :     UINT64_C(4088660544),       // VPADDLsv8i16
    1968             :     UINT64_C(4088398336),       // VPADDLsv8i8
    1969             :     UINT64_C(4088398528),       // VPADDLuv16i8
    1970             :     UINT64_C(4088922752),       // VPADDLuv2i32
    1971             :     UINT64_C(4088660608),       // VPADDLuv4i16
    1972             :     UINT64_C(4088922816),       // VPADDLuv4i32
    1973             :     UINT64_C(4088660672),       // VPADDLuv8i16
    1974             :     UINT64_C(4088398464),       // VPADDLuv8i8
    1975             :     UINT64_C(4076866816),       // VPADDf
    1976             :     UINT64_C(4077915392),       // VPADDh
    1977             :     UINT64_C(4061137680),       // VPADDi16
    1978             :     UINT64_C(4062186256),       // VPADDi32
    1979             :     UINT64_C(4060089104),       // VPADDi8
    1980             :     UINT64_C(4076867328),       // VPMAXf
    1981             :     UINT64_C(4077915904),       // VPMAXh
    1982             :     UINT64_C(4061137408),       // VPMAXs16
    1983             :     UINT64_C(4062185984),       // VPMAXs32
    1984             :     UINT64_C(4060088832),       // VPMAXs8
    1985             :     UINT64_C(4077914624),       // VPMAXu16
    1986             :     UINT64_C(4078963200),       // VPMAXu32
    1987             :     UINT64_C(4076866048),       // VPMAXu8
    1988             :     UINT64_C(4078964480),       // VPMINf
    1989             :     UINT64_C(4080013056),       // VPMINh
    1990             :     UINT64_C(4061137424),       // VPMINs16
    1991             :     UINT64_C(4062186000),       // VPMINs32
    1992             :     UINT64_C(4060088848),       // VPMINs8
    1993             :     UINT64_C(4077914640),       // VPMINu16
    1994             :     UINT64_C(4078963216),       // VPMINu32
    1995             :     UINT64_C(4076866064),       // VPMINu8
    1996             :     UINT64_C(4088399680),       // VQABSv16i8
    1997             :     UINT64_C(4088923904),       // VQABSv2i32
    1998             :     UINT64_C(4088661760),       // VQABSv4i16
    1999             :     UINT64_C(4088923968),       // VQABSv4i32
    2000             :     UINT64_C(4088661824),       // VQABSv8i16
    2001             :     UINT64_C(4088399616),       // VQABSv8i8
    2002             :     UINT64_C(4060086352),       // VQADDsv16i8
    2003             :     UINT64_C(4063232016),       // VQADDsv1i64
    2004             :     UINT64_C(4062183440),       // VQADDsv2i32
    2005             :     UINT64_C(4063232080),       // VQADDsv2i64
    2006             :     UINT64_C(4061134864),       // VQADDsv4i16
    2007             :     UINT64_C(4062183504),       // VQADDsv4i32
    2008             :     UINT64_C(4061134928),       // VQADDsv8i16
    2009             :     UINT64_C(4060086288),       // VQADDsv8i8
    2010             :     UINT64_C(4076863568),       // VQADDuv16i8
    2011             :     UINT64_C(4080009232),       // VQADDuv1i64
    2012             :     UINT64_C(4078960656),       // VQADDuv2i32
    2013             :     UINT64_C(4080009296),       // VQADDuv2i64
    2014             :     UINT64_C(4077912080),       // VQADDuv4i16
    2015             :     UINT64_C(4078960720),       // VQADDuv4i32
    2016             :     UINT64_C(4077912144),       // VQADDuv8i16
    2017             :     UINT64_C(4076863504),       // VQADDuv8i8
    2018             :     UINT64_C(4070572864),       // VQDMLALslv2i32
    2019             :     UINT64_C(4069524288),       // VQDMLALslv4i16
    2020             :     UINT64_C(4070574336),       // VQDMLALv2i64
    2021             :     UINT64_C(4069525760),       // VQDMLALv4i32
    2022             :     UINT64_C(4070573888),       // VQDMLSLslv2i32
    2023             :     UINT64_C(4069525312),       // VQDMLSLslv4i16
    2024             :     UINT64_C(4070574848),       // VQDMLSLv2i64
    2025             :     UINT64_C(4069526272),       // VQDMLSLv4i32
    2026             :     UINT64_C(4070575168),       // VQDMULHslv2i32
    2027             :     UINT64_C(4069526592),       // VQDMULHslv4i16
    2028             :     UINT64_C(4087352384),       // VQDMULHslv4i32
    2029             :     UINT64_C(4086303808),       // VQDMULHslv8i16
    2030             :     UINT64_C(4062186240),       // VQDMULHv2i32
    2031             :     UINT64_C(4061137664),       // VQDMULHv4i16
    2032             :     UINT64_C(4062186304),       // VQDMULHv4i32
    2033             :     UINT64_C(4061137728),       // VQDMULHv8i16
    2034             :     UINT64_C(4070574912),       // VQDMULLslv2i32
    2035             :     UINT64_C(4069526336),       // VQDMULLslv4i16
    2036             :     UINT64_C(4070575360),       // VQDMULLv2i64
    2037             :     UINT64_C(4069526784),       // VQDMULLv4i32
    2038             :     UINT64_C(4089053760),       // VQMOVNsuv2i32
    2039             :     UINT64_C(4088791616),       // VQMOVNsuv4i16
    2040             :     UINT64_C(4088529472),       // VQMOVNsuv8i8
    2041             :     UINT64_C(4089053824),       // VQMOVNsv2i32
    2042             :     UINT64_C(4088791680),       // VQMOVNsv4i16
    2043             :     UINT64_C(4088529536),       // VQMOVNsv8i8
    2044             :     UINT64_C(4089053888),       // VQMOVNuv2i32
    2045             :     UINT64_C(4088791744),       // VQMOVNuv4i16
    2046             :     UINT64_C(4088529600),       // VQMOVNuv8i8
    2047             :     UINT64_C(4088399808),       // VQNEGv16i8
    2048             :     UINT64_C(4088924032),       // VQNEGv2i32
    2049             :     UINT64_C(4088661888),       // VQNEGv4i16
    2050             :     UINT64_C(4088924096),       // VQNEGv4i32
    2051             :     UINT64_C(4088661952),       // VQNEGv8i16
    2052             :     UINT64_C(4088399744),       // VQNEGv8i8
    2053             :     UINT64_C(4070575680),       // VQRDMLAHslv2i32
    2054             :     UINT64_C(4069527104),       // VQRDMLAHslv4i16
    2055             :     UINT64_C(4087352896),       // VQRDMLAHslv4i32
    2056             :     UINT64_C(4086304320),       // VQRDMLAHslv8i16
    2057             :     UINT64_C(4078963472),       // VQRDMLAHv2i32
    2058             :     UINT64_C(4077914896),       // VQRDMLAHv4i16
    2059             :     UINT64_C(4078963536),       // VQRDMLAHv4i32
    2060             :     UINT64_C(4077914960),       // VQRDMLAHv8i16
    2061             :     UINT64_C(4070575936),       // VQRDMLSHslv2i32
    2062             :     UINT64_C(4069527360),       // VQRDMLSHslv4i16
    2063             :     UINT64_C(4087353152),       // VQRDMLSHslv4i32
    2064             :     UINT64_C(4086304576),       // VQRDMLSHslv8i16
    2065             :     UINT64_C(4078963728),       // VQRDMLSHv2i32
    2066             :     UINT64_C(4077915152),       // VQRDMLSHv4i16
    2067             :     UINT64_C(4078963792),       // VQRDMLSHv4i32
    2068             :     UINT64_C(4077915216),       // VQRDMLSHv8i16
    2069             :     UINT64_C(4070575424),       // VQRDMULHslv2i32
    2070             :     UINT64_C(4069526848),       // VQRDMULHslv4i16
    2071             :     UINT64_C(4087352640),       // VQRDMULHslv4i32
    2072             :     UINT64_C(4086304064),       // VQRDMULHslv8i16
    2073             :     UINT64_C(4078963456),       // VQRDMULHv2i32
    2074             :     UINT64_C(4077914880),       // VQRDMULHv4i16
    2075             :     UINT64_C(4078963520),       // VQRDMULHv4i32
    2076             :     UINT64_C(4077914944),       // VQRDMULHv8i16
    2077             :     UINT64_C(4060087632),       // VQRSHLsv16i8
    2078             :     UINT64_C(4063233296),       // VQRSHLsv1i64
    2079             :     UINT64_C(4062184720),       // VQRSHLsv2i32
    2080             :     UINT64_C(4063233360),       // VQRSHLsv2i64
    2081             :     UINT64_C(4061136144),       // VQRSHLsv4i16
    2082             :     UINT64_C(4062184784),       // VQRSHLsv4i32
    2083             :     UINT64_C(4061136208),       // VQRSHLsv8i16
    2084             :     UINT64_C(4060087568),       // VQRSHLsv8i8
    2085             :     UINT64_C(4076864848),       // VQRSHLuv16i8
    2086             :     UINT64_C(4080010512),       // VQRSHLuv1i64
    2087             :     UINT64_C(4078961936),       // VQRSHLuv2i32
    2088             :     UINT64_C(4080010576),       // VQRSHLuv2i64
    2089             :     UINT64_C(4077913360),       // VQRSHLuv4i16
    2090             :     UINT64_C(4078962000),       // VQRSHLuv4i32
    2091             :     UINT64_C(4077913424),       // VQRSHLuv8i16
    2092             :     UINT64_C(4076864784),       // VQRSHLuv8i8
    2093             :     UINT64_C(4070574416),       // VQRSHRNsv2i32
    2094             :     UINT64_C(4069525840),       // VQRSHRNsv4i16
    2095             :     UINT64_C(4069001552),       // VQRSHRNsv8i8
    2096             :     UINT64_C(4087351632),       // VQRSHRNuv2i32
    2097             :     UINT64_C(4086303056),       // VQRSHRNuv4i16
    2098             :     UINT64_C(4085778768),       // VQRSHRNuv8i8
    2099             :     UINT64_C(4087351376),       // VQRSHRUNv2i32
    2100             :     UINT64_C(4086302800),       // VQRSHRUNv4i16
    2101             :     UINT64_C(4085778512),       // VQRSHRUNv8i8
    2102             :     UINT64_C(4069001040),       // VQSHLsiv16i8
    2103             :     UINT64_C(4068476816),       // VQSHLsiv1i64
    2104             :     UINT64_C(4070573840),       // VQSHLsiv2i32
    2105             :     UINT64_C(4068476880),       // VQSHLsiv2i64
    2106             :     UINT64_C(4069525264),       // VQSHLsiv4i16
    2107             :     UINT64_C(4070573904),       // VQSHLsiv4i32
    2108             :     UINT64_C(4069525328),       // VQSHLsiv8i16
    2109             :     UINT64_C(4069000976),       // VQSHLsiv8i8
    2110             :     UINT64_C(4085778000),       // VQSHLsuv16i8
    2111             :     UINT64_C(4085253776),       // VQSHLsuv1i64
    2112             :     UINT64_C(4087350800),       // VQSHLsuv2i32
    2113             :     UINT64_C(4085253840),       // VQSHLsuv2i64
    2114             :     UINT64_C(4086302224),       // VQSHLsuv4i16
    2115             :     UINT64_C(4087350864),       // VQSHLsuv4i32
    2116             :     UINT64_C(4086302288),       // VQSHLsuv8i16
    2117             :     UINT64_C(4085777936),       // VQSHLsuv8i8
    2118             :     UINT64_C(4060087376),       // VQSHLsv16i8
    2119             :     UINT64_C(4063233040),       // VQSHLsv1i64
    2120             :     UINT64_C(4062184464),       // VQSHLsv2i32
    2121             :     UINT64_C(4063233104),       // VQSHLsv2i64
    2122             :     UINT64_C(4061135888),       // VQSHLsv4i16
    2123             :     UINT64_C(4062184528),       // VQSHLsv4i32
    2124             :     UINT64_C(4061135952),       // VQSHLsv8i16
    2125             :     UINT64_C(4060087312),       // VQSHLsv8i8
    2126             :     UINT64_C(4085778256),       // VQSHLuiv16i8
    2127             :     UINT64_C(4085254032),       // VQSHLuiv1i64
    2128             :     UINT64_C(4087351056),       // VQSHLuiv2i32
    2129             :     UINT64_C(4085254096),       // VQSHLuiv2i64
    2130             :     UINT64_C(4086302480),       // VQSHLuiv4i16
    2131             :     UINT64_C(4087351120),       // VQSHLuiv4i32
    2132             :     UINT64_C(4086302544),       // VQSHLuiv8i16
    2133             :     UINT64_C(4085778192),       // VQSHLuiv8i8
    2134             :     UINT64_C(4076864592),       // VQSHLuv16i8
    2135             :     UINT64_C(4080010256),       // VQSHLuv1i64
    2136             :     UINT64_C(4078961680),       // VQSHLuv2i32
    2137             :     UINT64_C(4080010320),       // VQSHLuv2i64
    2138             :     UINT64_C(4077913104),       // VQSHLuv4i16
    2139             :     UINT64_C(4078961744),       // VQSHLuv4i32
    2140             :     UINT64_C(4077913168),       // VQSHLuv8i16
    2141             :     UINT64_C(4076864528),       // VQSHLuv8i8
    2142             :     UINT64_C(4070574352),       // VQSHRNsv2i32
    2143             :     UINT64_C(4069525776),       // VQSHRNsv4i16
    2144             :     UINT64_C(4069001488),       // VQSHRNsv8i8
    2145             :     UINT64_C(4087351568),       // VQSHRNuv2i32
    2146             :     UINT64_C(4086302992),       // VQSHRNuv4i16
    2147             :     UINT64_C(4085778704),       // VQSHRNuv8i8
    2148             :     UINT64_C(4087351312),       // VQSHRUNv2i32
    2149             :     UINT64_C(4086302736),       // VQSHRUNv4i16
    2150             :     UINT64_C(4085778448),       // VQSHRUNv8i8
    2151             :     UINT64_C(4060086864),       // VQSUBsv16i8
    2152             :     UINT64_C(4063232528),       // VQSUBsv1i64
    2153             :     UINT64_C(4062183952),       // VQSUBsv2i32
    2154             :     UINT64_C(4063232592),       // VQSUBsv2i64
    2155             :     UINT64_C(4061135376),       // VQSUBsv4i16
    2156             :     UINT64_C(4062184016),       // VQSUBsv4i32
    2157             :     UINT64_C(4061135440),       // VQSUBsv8i16
    2158             :     UINT64_C(4060086800),       // VQSUBsv8i8
    2159             :     UINT64_C(4076864080),       // VQSUBuv16i8
    2160             :     UINT64_C(4080009744),       // VQSUBuv1i64
    2161             :     UINT64_C(4078961168),       // VQSUBuv2i32
    2162             :     UINT64_C(4080009808),       // VQSUBuv2i64
    2163             :     UINT64_C(4077912592),       // VQSUBuv4i16
    2164             :     UINT64_C(4078961232),       // VQSUBuv4i32
    2165             :     UINT64_C(4077912656),       // VQSUBuv8i16
    2166             :     UINT64_C(4076864016),       // VQSUBuv8i8
    2167             :     UINT64_C(4087350272),       // VRADDHNv2i32
    2168             :     UINT64_C(4086301696),       // VRADDHNv4i16
    2169             :     UINT64_C(4085253120),       // VRADDHNv8i8
    2170             :     UINT64_C(4089119744),       // VRECPEd
    2171             :     UINT64_C(4089120000),       // VRECPEfd
    2172             :     UINT64_C(4089120064),       // VRECPEfq
    2173             :     UINT64_C(4088857856),       // VRECPEhd
    2174             :     UINT64_C(4088857920),       // VRECPEhq
    2175             :     UINT64_C(4089119808),       // VRECPEq
    2176             :     UINT64_C(4060090128),       // VRECPSfd
    2177             :     UINT64_C(4060090192),       // VRECPSfq
    2178             :     UINT64_C(4061138704),       // VRECPShd
    2179             :     UINT64_C(4061138768),       // VRECPShq
    2180             :     UINT64_C(4088398080),       // VREV16d8
    2181             :     UINT64_C(4088398144),       // VREV16q8
    2182             :     UINT64_C(4088660096),       // VREV32d16
    2183             :     UINT64_C(4088397952),       // VREV32d8
    2184             :     UINT64_C(4088660160),       // VREV32q16
    2185             :     UINT64_C(4088398016),       // VREV32q8
    2186             :     UINT64_C(4088659968),       // VREV64d16
    2187             :     UINT64_C(4088922112),       // VREV64d32
    2188             :     UINT64_C(4088397824),       // VREV64d8
    2189             :     UINT64_C(4088660032),       // VREV64q16
    2190             :     UINT64_C(4088922176),       // VREV64q32
    2191             :     UINT64_C(4088397888),       // VREV64q8
    2192             :     UINT64_C(4060086592),       // VRHADDsv16i8
    2193             :     UINT64_C(4062183680),       // VRHADDsv2i32
    2194             :     UINT64_C(4061135104),       // VRHADDsv4i16
    2195             :     UINT64_C(4062183744),       // VRHADDsv4i32
    2196             :     UINT64_C(4061135168),       // VRHADDsv8i16
    2197             :     UINT64_C(4060086528),       // VRHADDsv8i8
    2198             :     UINT64_C(4076863808),       // VRHADDuv16i8
    2199             :     UINT64_C(4078960896),       // VRHADDuv2i32
    2200             :     UINT64_C(4077912320),       // VRHADDuv4i16
    2201             :     UINT64_C(4078960960),       // VRHADDuv4i32
    2202             :     UINT64_C(4077912384),       // VRHADDuv8i16
    2203             :     UINT64_C(4076863744),       // VRHADDuv8i8
    2204             :     UINT64_C(4273474368),       // VRINTAD
    2205             :     UINT64_C(4273473856),       // VRINTAH
    2206             :     UINT64_C(4089054464),       // VRINTANDf
    2207             :     UINT64_C(4088792320),       // VRINTANDh
    2208             :     UINT64_C(4089054528),       // VRINTANQf
    2209             :     UINT64_C(4088792384),       // VRINTANQh
    2210             :     UINT64_C(4273474112),       // VRINTAS
    2211             :     UINT64_C(4273670976),       // VRINTMD
    2212             :     UINT64_C(4273670464),       // VRINTMH
    2213             :     UINT64_C(4089054848),       // VRINTMNDf
    2214             :     UINT64_C(4088792704),       // VRINTMNDh
    2215             :     UINT64_C(4089054912),       // VRINTMNQf
    2216             :     UINT64_C(4088792768),       // VRINTMNQh
    2217             :     UINT64_C(4273670720),       // VRINTMS
    2218             :     UINT64_C(4273539904),       // VRINTND
    2219             :     UINT64_C(4273539392),       // VRINTNH
    2220             :     UINT64_C(4089054208),       // VRINTNNDf
    2221             :     UINT64_C(4088792064),       // VRINTNNDh
    2222             :     UINT64_C(4089054272),       // VRINTNNQf
    2223             :     UINT64_C(4088792128),       // VRINTNNQh
    2224             :     UINT64_C(4273539648),       // VRINTNS
    2225             :     UINT64_C(4273605440),       // VRINTPD
    2226             :     UINT64_C(4273604928),       // VRINTPH
    2227             :     UINT64_C(4089055104),       // VRINTPNDf
    2228             :     UINT64_C(4088792960),       // VRINTPNDh
    2229             :     UINT64_C(4089055168),       // VRINTPNQf
    2230             :     UINT64_C(4088793024),       // VRINTPNQh
    2231             :     UINT64_C(4273605184),       // VRINTPS
    2232             :     UINT64_C(246811456),        // VRINTRD
    2233             :     UINT64_C(246810944),        // VRINTRH
    2234             :     UINT64_C(246811200),        // VRINTRS
    2235             :     UINT64_C(246876992),        // VRINTXD
    2236             :     UINT64_C(246876480),        // VRINTXH
    2237             :     UINT64_C(4089054336),       // VRINTXNDf
    2238             :     UINT64_C(4088792192),       // VRINTXNDh
    2239             :     UINT64_C(4089054400),       // VRINTXNQf
    2240             :     UINT64_C(4088792256),       // VRINTXNQh
    2241             :     UINT64_C(246876736),        // VRINTXS
    2242             :     UINT64_C(246811584),        // VRINTZD
    2243             :     UINT64_C(246811072),        // VRINTZH
    2244             :     UINT64_C(4089054592),       // VRINTZNDf
    2245             :     UINT64_C(4088792448),       // VRINTZNDh
    2246             :     UINT64_C(4089054656),       // VRINTZNQf
    2247             :     UINT64_C(4088792512),       // VRINTZNQh
    2248             :     UINT64_C(246811328),        // VRINTZS
    2249             :     UINT64_C(4060087616),       // VRSHLsv16i8
    2250             :     UINT64_C(4063233280),       // VRSHLsv1i64
    2251             :     UINT64_C(4062184704),       // VRSHLsv2i32
    2252             :     UINT64_C(4063233344),       // VRSHLsv2i64
    2253             :     UINT64_C(4061136128),       // VRSHLsv4i16
    2254             :     UINT64_C(4062184768),       // VRSHLsv4i32
    2255             :     UINT64_C(4061136192),       // VRSHLsv8i16
    2256             :     UINT64_C(4060087552),       // VRSHLsv8i8
    2257             :     UINT64_C(4076864832),       // VRSHLuv16i8
    2258             :     UINT64_C(4080010496),       // VRSHLuv1i64
    2259             :     UINT64_C(4078961920),       // VRSHLuv2i32
    2260             :     UINT64_C(4080010560),       // VRSHLuv2i64
    2261             :     UINT64_C(4077913344),       // VRSHLuv4i16
    2262             :     UINT64_C(4078961984),       // VRSHLuv4i32
    2263             :     UINT64_C(4077913408),       // VRSHLuv8i16
    2264             :     UINT64_C(4076864768),       // VRSHLuv8i8
    2265             :     UINT64_C(4070574160),       // VRSHRNv2i32
    2266             :     UINT64_C(4069525584),       // VRSHRNv4i16
    2267             :     UINT64_C(4069001296),       // VRSHRNv8i8
    2268             :     UINT64_C(4068999760),       // VRSHRsv16i8
    2269             :     UINT64_C(4068475536),       // VRSHRsv1i64
    2270             :     UINT64_C(4070572560),       // VRSHRsv2i32
    2271             :     UINT64_C(4068475600),       // VRSHRsv2i64
    2272             :     UINT64_C(4069523984),       // VRSHRsv4i16
    2273             :     UINT64_C(4070572624),       // VRSHRsv4i32
    2274             :     UINT64_C(4069524048),       // VRSHRsv8i16
    2275             :     UINT64_C(4068999696),       // VRSHRsv8i8
    2276             :     UINT64_C(4085776976),       // VRSHRuv16i8
    2277             :     UINT64_C(4085252752),       // VRSHRuv1i64
    2278             :     UINT64_C(4087349776),       // VRSHRuv2i32
    2279             :     UINT64_C(4085252816),       // VRSHRuv2i64
    2280             :     UINT64_C(4086301200),       // VRSHRuv4i16
    2281             :     UINT64_C(4087349840),       // VRSHRuv4i32
    2282             :     UINT64_C(4086301264),       // VRSHRuv8i16
    2283             :     UINT64_C(4085776912),       // VRSHRuv8i8
    2284             :     UINT64_C(4089119872),       // VRSQRTEd
    2285             :     UINT64_C(4089120128),       // VRSQRTEfd
    2286             :     UINT64_C(4089120192),       // VRSQRTEfq
    2287             :     UINT64_C(4088857984),       // VRSQRTEhd
    2288             :     UINT64_C(4088858048),       // VRSQRTEhq
    2289             :     UINT64_C(4089119936),       // VRSQRTEq
    2290             :     UINT64_C(4062187280),       // VRSQRTSfd
    2291             :     UINT64_C(4062187344),       // VRSQRTSfq
    2292             :     UINT64_C(4063235856),       // VRSQRTShd
    2293             :     UINT64_C(4063235920),       // VRSQRTShq
    2294             :     UINT64_C(4069000016),       // VRSRAsv16i8
    2295             :     UINT64_C(4068475792),       // VRSRAsv1i64
    2296             :     UINT64_C(4070572816),       // VRSRAsv2i32
    2297             :     UINT64_C(4068475856),       // VRSRAsv2i64
    2298             :     UINT64_C(4069524240),       // VRSRAsv4i16
    2299             :     UINT64_C(4070572880),       // VRSRAsv4i32
    2300             :     UINT64_C(4069524304),       // VRSRAsv8i16
    2301             :     UINT64_C(4068999952),       // VRSRAsv8i8
    2302             :     UINT64_C(4085777232),       // VRSRAuv16i8
    2303             :     UINT64_C(4085253008),       // VRSRAuv1i64
    2304             :     UINT64_C(4087350032),       // VRSRAuv2i32
    2305             :     UINT64_C(4085253072),       // VRSRAuv2i64
    2306             :     UINT64_C(4086301456),       // VRSRAuv4i16
    2307             :     UINT64_C(4087350096),       // VRSRAuv4i32
    2308             :     UINT64_C(4086301520),       // VRSRAuv8i16
    2309             :     UINT64_C(4085777168),       // VRSRAuv8i8
    2310             :     UINT64_C(4087350784),       // VRSUBHNv2i32
    2311             :     UINT64_C(4086302208),       // VRSUBHNv4i16
    2312             :     UINT64_C(4085253632),       // VRSUBHNv8i8
    2313             :     UINT64_C(4229958912),       // VSDOTD
    2314             :     UINT64_C(4263513344),       // VSDOTDI
    2315             :     UINT64_C(4229958976),       // VSDOTQ
    2316             :     UINT64_C(4263513408),       // VSDOTQI
    2317             :     UINT64_C(4261415680),       // VSELEQD
    2318             :     UINT64_C(4261415168),       // VSELEQH
    2319             :     UINT64_C(4261415424),       // VSELEQS
    2320             :     UINT64_C(4263512832),       // VSELGED
    2321             :     UINT64_C(4263512320),       // VSELGEH
    2322             :     UINT64_C(4263512576),       // VSELGES
    2323             :     UINT64_C(4264561408),       // VSELGTD
    2324             :     UINT64_C(4264560896),       // VSELGTH
    2325             :     UINT64_C(4264561152),       // VSELGTS
    2326             :     UINT64_C(4262464256),       // VSELVSD
    2327             :     UINT64_C(4262463744),       // VSELVSH
    2328             :     UINT64_C(4262464000),       // VSELVSS
    2329             :     UINT64_C(234883888),        // VSETLNi16
    2330             :     UINT64_C(234883856),        // VSETLNi32
    2331             :     UINT64_C(239078160),        // VSETLNi8
    2332             :     UINT64_C(4088791808),       // VSHLLi16
    2333             :     UINT64_C(4089053952),       // VSHLLi32
    2334             :     UINT64_C(4088529664),       // VSHLLi8
    2335             :     UINT64_C(4070574608),       // VSHLLsv2i64
    2336             :     UINT64_C(4069526032),       // VSHLLsv4i32
    2337             :     UINT64_C(4069001744),       // VSHLLsv8i16
    2338             :     UINT64_C(4087351824),       // VSHLLuv2i64
    2339             :     UINT64_C(4086303248),       // VSHLLuv4i32
    2340             :     UINT64_C(4085778960),       // VSHLLuv8i16
    2341             :     UINT64_C(4069000528),       // VSHLiv16i8
    2342             :     UINT64_C(4068476304),       // VSHLiv1i64
    2343             :     UINT64_C(4070573328),       // VSHLiv2i32
    2344             :     UINT64_C(4068476368),       // VSHLiv2i64
    2345             :     UINT64_C(4069524752),       // VSHLiv4i16
    2346             :     UINT64_C(4070573392),       // VSHLiv4i32
    2347             :     UINT64_C(4069524816),       // VSHLiv8i16
    2348             :     UINT64_C(4069000464),       // VSHLiv8i8
    2349             :     UINT64_C(4060087360),       // VSHLsv16i8
    2350             :     UINT64_C(4063233024),       // VSHLsv1i64
    2351             :     UINT64_C(4062184448),       // VSHLsv2i32
    2352             :     UINT64_C(4063233088),       // VSHLsv2i64
    2353             :     UINT64_C(4061135872),       // VSHLsv4i16
    2354             :     UINT64_C(4062184512),       // VSHLsv4i32
    2355             :     UINT64_C(4061135936),       // VSHLsv8i16
    2356             :     UINT64_C(4060087296),       // VSHLsv8i8
    2357             :     UINT64_C(4076864576),       // VSHLuv16i8
    2358             :     UINT64_C(4080010240),       // VSHLuv1i64
    2359             :     UINT64_C(4078961664),       // VSHLuv2i32
    2360             :     UINT64_C(4080010304),       // VSHLuv2i64
    2361             :     UINT64_C(4077913088),       // VSHLuv4i16
    2362             :     UINT64_C(4078961728),       // VSHLuv4i32
    2363             :     UINT64_C(4077913152),       // VSHLuv8i16
    2364             :     UINT64_C(4076864512),       // VSHLuv8i8
    2365             :     UINT64_C(4070574096),       // VSHRNv2i32
    2366             :     UINT64_C(4069525520),       // VSHRNv4i16
    2367             :     UINT64_C(4069001232),       // VSHRNv8i8
    2368             :     UINT64_C(4068999248),       // VSHRsv16i8
    2369             :     UINT64_C(4068475024),       // VSHRsv1i64
    2370             :     UINT64_C(4070572048),       // VSHRsv2i32
    2371             :     UINT64_C(4068475088),       // VSHRsv2i64
    2372             :     UINT64_C(4069523472),       // VSHRsv4i16
    2373             :     UINT64_C(4070572112),       // VSHRsv4i32
    2374             :     UINT64_C(4069523536),       // VSHRsv8i16
    2375             :     UINT64_C(4068999184),       // VSHRsv8i8
    2376             :     UINT64_C(4085776464),       // VSHRuv16i8
    2377             :     UINT64_C(4085252240),       // VSHRuv1i64
    2378             :     UINT64_C(4087349264),       // VSHRuv2i32
    2379             :     UINT64_C(4085252304),       // VSHRuv2i64
    2380             :     UINT64_C(4086300688),       // VSHRuv4i16
    2381             :     UINT64_C(4087349328),       // VSHRuv4i32
    2382             :     UINT64_C(4086300752),       // VSHRuv8i16
    2383             :     UINT64_C(4085776400),       // VSHRuv8i8
    2384             :     UINT64_C(247073600),        // VSHTOD
    2385             :     UINT64_C(247073088),        // VSHTOH
    2386             :     UINT64_C(247073344),        // VSHTOS
    2387             :     UINT64_C(246942656),        // VSITOD
    2388             :     UINT64_C(246942144),        // VSITOH
    2389             :     UINT64_C(246942400),        // VSITOS
    2390             :     UINT64_C(4085777744),       // VSLIv16i8
    2391             :     UINT64_C(4085253520),       // VSLIv1i64
    2392             :     UINT64_C(4087350544),       // VSLIv2i32
    2393             :     UINT64_C(4085253584),       // VSLIv2i64
    2394             :     UINT64_C(4086301968),       // VSLIv4i16
    2395             :     UINT64_C(4087350608),       // VSLIv4i32
    2396             :     UINT64_C(4086302032),       // VSLIv8i16
    2397             :     UINT64_C(4085777680),       // VSLIv8i8
    2398             :     UINT64_C(247073728),        // VSLTOD
    2399             :     UINT64_C(247073216),        // VSLTOH
    2400             :     UINT64_C(247073472),        // VSLTOS
    2401             :     UINT64_C(246483904),        // VSQRTD
    2402             :     UINT64_C(246483392),        // VSQRTH
    2403             :     UINT64_C(246483648),        // VSQRTS
    2404             :     UINT64_C(4068999504),       // VSRAsv16i8
    2405             :     UINT64_C(4068475280),       // VSRAsv1i64
    2406             :     UINT64_C(4070572304),       // VSRAsv2i32
    2407             :     UINT64_C(4068475344),       // VSRAsv2i64
    2408             :     UINT64_C(4069523728),       // VSRAsv4i16
    2409             :     UINT64_C(4070572368),       // VSRAsv4i32
    2410             :     UINT64_C(4069523792),       // VSRAsv8i16
    2411             :     UINT64_C(4068999440),       // VSRAsv8i8
    2412             :     UINT64_C(4085776720),       // VSRAuv16i8
    2413             :     UINT64_C(4085252496),       // VSRAuv1i64
    2414             :     UINT64_C(4087349520),       // VSRAuv2i32
    2415             :     UINT64_C(4085252560),       // VSRAuv2i64
    2416             :     UINT64_C(4086300944),       // VSRAuv4i16
    2417             :     UINT64_C(4087349584),       // VSRAuv4i32
    2418             :     UINT64_C(4086301008),       // VSRAuv8i16
    2419             :     UINT64_C(4085776656),       // VSRAuv8i8
    2420             :     UINT64_C(4085777488),       // VSRIv16i8
    2421             :     UINT64_C(4085253264),       // VSRIv1i64
    2422             :     UINT64_C(4087350288),       // VSRIv2i32
    2423             :     UINT64_C(4085253328),       // VSRIv2i64
    2424             :     UINT64_C(4086301712),       // VSRIv4i16
    2425             :     UINT64_C(4087350352),       // VSRIv4i32
    2426             :     UINT64_C(4086301776),       // VSRIv8i16
    2427             :     UINT64_C(4085777424),       // VSRIv8i8
    2428             :     UINT64_C(4102030351),       // VST1LNd16
    2429             :     UINT64_C(4102030336),       // VST1LNd16_UPD
    2430             :     UINT64_C(4102031375),       // VST1LNd32
    2431             :     UINT64_C(4102031360),       // VST1LNd32_UPD
    2432             :     UINT64_C(4102029327),       // VST1LNd8
    2433             :     UINT64_C(4102029312),       // VST1LNd8_UPD
    2434             :     UINT64_C(0),        // VST1LNq16Pseudo
    2435             :     UINT64_C(0),        // VST1LNq16Pseudo_UPD
    2436             :     UINT64_C(0),        // VST1LNq32Pseudo
    2437             :     UINT64_C(0),        // VST1LNq32Pseudo_UPD
    2438             :     UINT64_C(0),        // VST1LNq8Pseudo
    2439             :     UINT64_C(0),        // VST1LNq8Pseudo_UPD
    2440             :     UINT64_C(4093642575),       // VST1d16
    2441             :     UINT64_C(4093641295),       // VST1d16Q
    2442             :     UINT64_C(0),        // VST1d16QPseudo
    2443             :     UINT64_C(4093641293),       // VST1d16Qwb_fixed
    2444             :     UINT64_C(4093641280),       // VST1d16Qwb_register
    2445             :     UINT64_C(4093642319),       // VST1d16T
    2446             :     UINT64_C(0),        // VST1d16TPseudo
    2447             :     UINT64_C(4093642317),       // VST1d16Twb_fixed
    2448             :     UINT64_C(4093642304),       // VST1d16Twb_register
    2449             :     UINT64_C(4093642573),       // VST1d16wb_fixed
    2450             :     UINT64_C(4093642560),       // VST1d16wb_register
    2451             :     UINT64_C(4093642639),       // VST1d32
    2452             :     UINT64_C(4093641359),       // VST1d32Q
    2453             :     UINT64_C(0),        // VST1d32QPseudo
    2454             :     UINT64_C(4093641357),       // VST1d32Qwb_fixed
    2455             :     UINT64_C(4093641344),       // VST1d32Qwb_register
    2456             :     UINT64_C(4093642383),       // VST1d32T
    2457             :     UINT64_C(0),        // VST1d32TPseudo
    2458             :     UINT64_C(4093642381),       // VST1d32Twb_fixed
    2459             :     UINT64_C(4093642368),       // VST1d32Twb_register
    2460             :     UINT64_C(4093642637),       // VST1d32wb_fixed
    2461             :     UINT64_C(4093642624),       // VST1d32wb_register
    2462             :     UINT64_C(4093642703),       // VST1d64
    2463             :     UINT64_C(4093641423),       // VST1d64Q
    2464             :     UINT64_C(0),        // VST1d64QPseudo
    2465             :     UINT64_C(0),        // VST1d64QPseudoWB_fixed
    2466             :     UINT64_C(0),        // VST1d64QPseudoWB_register
    2467             :     UINT64_C(4093641421),       // VST1d64Qwb_fixed
    2468             :     UINT64_C(4093641408),       // VST1d64Qwb_register
    2469             :     UINT64_C(4093642447),       // VST1d64T
    2470             :     UINT64_C(0),        // VST1d64TPseudo
    2471             :     UINT64_C(0),        // VST1d64TPseudoWB_fixed
    2472             :     UINT64_C(0),        // VST1d64TPseudoWB_register
    2473             :     UINT64_C(4093642445),       // VST1d64Twb_fixed
    2474             :     UINT64_C(4093642432),       // VST1d64Twb_register
    2475             :     UINT64_C(4093642701),       // VST1d64wb_fixed
    2476             :     UINT64_C(4093642688),       // VST1d64wb_register
    2477             :     UINT64_C(4093642511),       // VST1d8
    2478             :     UINT64_C(4093641231),       // VST1d8Q
    2479             :     UINT64_C(0),        // VST1d8QPseudo
    2480             :     UINT64_C(4093641229),       // VST1d8Qwb_fixed
    2481             :     UINT64_C(4093641216),       // VST1d8Qwb_register
    2482             :     UINT64_C(4093642255),       // VST1d8T
    2483             :     UINT64_C(0),        // VST1d8TPseudo
    2484             :     UINT64_C(4093642253),       // VST1d8Twb_fixed
    2485             :     UINT64_C(4093642240),       // VST1d8Twb_register
    2486             :     UINT64_C(4093642509),       // VST1d8wb_fixed
    2487             :     UINT64_C(4093642496),       // VST1d8wb_register
    2488             :     UINT64_C(4093643343),       // VST1q16
    2489             :     UINT64_C(0),        // VST1q16HighQPseudo
    2490             :     UINT64_C(0),        // VST1q16HighTPseudo
    2491             :     UINT64_C(0),        // VST1q16LowQPseudo_UPD
    2492             :     UINT64_C(0),        // VST1q16LowTPseudo_UPD
    2493             :     UINT64_C(4093643341),       // VST1q16wb_fixed
    2494             :     UINT64_C(4093643328),       // VST1q16wb_register
    2495             :     UINT64_C(4093643407),       // VST1q32
    2496             :     UINT64_C(0),        // VST1q32HighQPseudo
    2497             :     UINT64_C(0),        // VST1q32HighTPseudo
    2498             :     UINT64_C(0),        // VST1q32LowQPseudo_UPD
    2499             :     UINT64_C(0),        // VST1q32LowTPseudo_UPD
    2500             :     UINT64_C(4093643405),       // VST1q32wb_fixed
    2501             :     UINT64_C(4093643392),       // VST1q32wb_register
    2502             :     UINT64_C(4093643471),       // VST1q64
    2503             :     UINT64_C(0),        // VST1q64HighQPseudo
    2504             :     UINT64_C(0),        // VST1q64HighTPseudo
    2505             :     UINT64_C(0),        // VST1q64LowQPseudo_UPD
    2506             :     UINT64_C(0),        // VST1q64LowTPseudo_UPD
    2507             :     UINT64_C(4093643469),       // VST1q64wb_fixed
    2508             :     UINT64_C(4093643456),       // VST1q64wb_register
    2509             :     UINT64_C(4093643279),       // VST1q8
    2510             :     UINT64_C(0),        // VST1q8HighQPseudo
    2511             :     UINT64_C(0),        // VST1q8HighTPseudo
    2512             :     UINT64_C(0),        // VST1q8LowQPseudo_UPD
    2513             :     UINT64_C(0),        // VST1q8LowTPseudo_UPD
    2514             :     UINT64_C(4093643277),       // VST1q8wb_fixed
    2515             :     UINT64_C(4093643264),       // VST1q8wb_register
    2516             :     UINT64_C(4102030607),       // VST2LNd16
    2517             :     UINT64_C(0),        // VST2LNd16Pseudo
    2518             :     UINT64_C(0),        // VST2LNd16Pseudo_UPD
    2519             :     UINT64_C(4102030592),       // VST2LNd16_UPD
    2520             :     UINT64_C(4102031631),       // VST2LNd32
    2521             :     UINT64_C(0),        // VST2LNd32Pseudo
    2522             :     UINT64_C(0),        // VST2LNd32Pseudo_UPD
    2523             :     UINT64_C(4102031616),       // VST2LNd32_UPD
    2524             :     UINT64_C(4102029583),       // VST2LNd8
    2525             :     UINT64_C(0),        // VST2LNd8Pseudo
    2526             :     UINT64_C(0),        // VST2LNd8Pseudo_UPD
    2527             :     UINT64_C(4102029568),       // VST2LNd8_UPD
    2528             :     UINT64_C(4102030639),       // VST2LNq16
    2529             :     UINT64_C(0),        // VST2LNq16Pseudo
    2530             :     UINT64_C(0),        // VST2LNq16Pseudo_UPD
    2531             :     UINT64_C(4102030624),       // VST2LNq16_UPD
    2532             :     UINT64_C(4102031695),       // VST2LNq32
    2533             :     UINT64_C(0),        // VST2LNq32Pseudo
    2534             :     UINT64_C(0),        // VST2LNq32Pseudo_UPD
    2535             :     UINT64_C(4102031680),       // VST2LNq32_UPD
    2536             :     UINT64_C(4093643087),       // VST2b16
    2537             :     UINT64_C(4093643085),       // VST2b16wb_fixed
    2538             :     UINT64_C(4093643072),       // VST2b16wb_register
    2539             :     UINT64_C(4093643151),       // VST2b32
    2540             :     UINT64_C(4093643149),       // VST2b32wb_fixed
    2541             :     UINT64_C(4093643136),       // VST2b32wb_register
    2542             :     UINT64_C(4093643023),       // VST2b8
    2543             :     UINT64_C(4093643021),       // VST2b8wb_fixed
    2544             :     UINT64_C(4093643008),       // VST2b8wb_register
    2545             :     UINT64_C(4093642831),       // VST2d16
    2546             :     UINT64_C(4093642829),       // VST2d16wb_fixed
    2547             :     UINT64_C(4093642816),       // VST2d16wb_register
    2548             :     UINT64_C(4093642895),       // VST2d32
    2549             :     UINT64_C(4093642893),       // VST2d32wb_fixed
    2550             :     UINT64_C(4093642880),       // VST2d32wb_register
    2551             :     UINT64_C(4093642767),       // VST2d8
    2552             :     UINT64_C(4093642765),       // VST2d8wb_fixed
    2553             :     UINT64_C(4093642752),       // VST2d8wb_register
    2554             :     UINT64_C(4093641551),       // VST2q16
    2555             :     UINT64_C(0),        // VST2q16Pseudo
    2556             :     UINT64_C(0),        // VST2q16PseudoWB_fixed
    2557             :     UINT64_C(0),        // VST2q16PseudoWB_register
    2558             :     UINT64_C(4093641549),       // VST2q16wb_fixed
    2559             :     UINT64_C(4093641536),       // VST2q16wb_register
    2560             :     UINT64_C(4093641615),       // VST2q32
    2561             :     UINT64_C(0),        // VST2q32Pseudo
    2562             :     UINT64_C(0),        // VST2q32PseudoWB_fixed
    2563             :     UINT64_C(0),        // VST2q32PseudoWB_register
    2564             :     UINT64_C(4093641613),       // VST2q32wb_fixed
    2565             :     UINT64_C(4093641600),       // VST2q32wb_register
    2566             :     UINT64_C(4093641487),       // VST2q8
    2567             :     UINT64_C(0),        // VST2q8Pseudo
    2568             :     UINT64_C(0),        // VST2q8PseudoWB_fixed
    2569             :     UINT64_C(0),        // VST2q8PseudoWB_register
    2570             :     UINT64_C(4093641485),       // VST2q8wb_fixed
    2571             :     UINT64_C(4093641472),       // VST2q8wb_register
    2572             :     UINT64_C(4102030863),       // VST3LNd16
    2573             :     UINT64_C(0),        // VST3LNd16Pseudo
    2574             :     UINT64_C(0),        // VST3LNd16Pseudo_UPD
    2575             :     UINT64_C(4102030848),       // VST3LNd16_UPD
    2576             :     UINT64_C(4102031887),       // VST3LNd32
    2577             :     UINT64_C(0),        // VST3LNd32Pseudo
    2578             :     UINT64_C(0),        // VST3LNd32Pseudo_UPD
    2579             :     UINT64_C(4102031872),       // VST3LNd32_UPD
    2580             :     UINT64_C(4102029839),       // VST3LNd8
    2581             :     UINT64_C(0),        // VST3LNd8Pseudo
    2582             :     UINT64_C(0),        // VST3LNd8Pseudo_UPD
    2583             :     UINT64_C(4102029824),       // VST3LNd8_UPD
    2584             :     UINT64_C(4102030895),       // VST3LNq16
    2585             :     UINT64_C(0),        // VST3LNq16Pseudo
    2586             :     UINT64_C(0),        // VST3LNq16Pseudo_UPD
    2587             :     UINT64_C(4102030880),       // VST3LNq16_UPD
    2588             :     UINT64_C(4102031951),       // VST3LNq32
    2589             :     UINT64_C(0),        // VST3LNq32Pseudo
    2590             :     UINT64_C(0),        // VST3LNq32Pseudo_UPD
    2591             :     UINT64_C(4102031936),       // VST3LNq32_UPD
    2592             :     UINT64_C(4093641807),       // VST3d16
    2593             :     UINT64_C(0),        // VST3d16Pseudo
    2594             :     UINT64_C(0),        // VST3d16Pseudo_UPD
    2595             :     UINT64_C(4093641792),       // VST3d16_UPD
    2596             :     UINT64_C(4093641871),       // VST3d32
    2597             :     UINT64_C(0),        // VST3d32Pseudo
    2598             :     UINT64_C(0),        // VST3d32Pseudo_UPD
    2599             :     UINT64_C(4093641856),       // VST3d32_UPD
    2600             :     UINT64_C(4093641743),       // VST3d8
    2601             :     UINT64_C(0),        // VST3d8Pseudo
    2602             :     UINT64_C(0),        // VST3d8Pseudo_UPD
    2603             :     UINT64_C(4093641728),       // VST3d8_UPD
    2604             :     UINT64_C(4093642063),       // VST3q16
    2605             :     UINT64_C(0),        // VST3q16Pseudo_UPD
    2606             :     UINT64_C(4093642048),       // VST3q16_UPD
    2607             :     UINT64_C(0),        // VST3q16oddPseudo
    2608             :     UINT64_C(0),        // VST3q16oddPseudo_UPD
    2609             :     UINT64_C(4093642127),       // VST3q32
    2610             :     UINT64_C(0),        // VST3q32Pseudo_UPD
    2611             :     UINT64_C(4093642112),       // VST3q32_UPD
    2612             :     UINT64_C(0),        // VST3q32oddPseudo
    2613             :     UINT64_C(0),        // VST3q32oddPseudo_UPD
    2614             :     UINT64_C(4093641999),       // VST3q8
    2615             :     UINT64_C(0),        // VST3q8Pseudo_UPD
    2616             :     UINT64_C(4093641984),       // VST3q8_UPD
    2617             :     UINT64_C(0),        // VST3q8oddPseudo
    2618             :     UINT64_C(0),        // VST3q8oddPseudo_UPD
    2619             :     UINT64_C(4102031119),       // VST4LNd16
    2620             :     UINT64_C(0),        // VST4LNd16Pseudo
    2621             :     UINT64_C(0),        // VST4LNd16Pseudo_UPD
    2622             :     UINT64_C(4102031104),       // VST4LNd16_UPD
    2623             :     UINT64_C(4102032143),       // VST4LNd32
    2624             :     UINT64_C(0),        // VST4LNd32Pseudo
    2625             :     UINT64_C(0),        // VST4LNd32Pseudo_UPD
    2626             :     UINT64_C(4102032128),       // VST4LNd32_UPD
    2627             :     UINT64_C(4102030095),       // VST4LNd8
    2628             :     UINT64_C(0),        // VST4LNd8Pseudo
    2629             :     UINT64_C(0),        // VST4LNd8Pseudo_UPD
    2630             :     UINT64_C(4102030080),       // VST4LNd8_UPD
    2631             :     UINT64_C(4102031151),       // VST4LNq16
    2632             :     UINT64_C(0),        // VST4LNq16Pseudo
    2633             :     UINT64_C(0),        // VST4LNq16Pseudo_UPD
    2634             :     UINT64_C(4102031136),       // VST4LNq16_UPD
    2635             :     UINT64_C(4102032207),       // VST4LNq32
    2636             :     UINT64_C(0),        // VST4LNq32Pseudo
    2637             :     UINT64_C(0),        // VST4LNq32Pseudo_UPD
    2638             :     UINT64_C(4102032192),       // VST4LNq32_UPD
    2639             :     UINT64_C(4093640783),       // VST4d16
    2640             :     UINT64_C(0),        // VST4d16Pseudo
    2641             :     UINT64_C(0),        // VST4d16Pseudo_UPD
    2642             :     UINT64_C(4093640768),       // VST4d16_UPD
    2643             :     UINT64_C(4093640847),       // VST4d32
    2644             :     UINT64_C(0),        // VST4d32Pseudo
    2645             :     UINT64_C(0),        // VST4d32Pseudo_UPD
    2646             :     UINT64_C(4093640832),       // VST4d32_UPD
    2647             :     UINT64_C(4093640719),       // VST4d8
    2648             :     UINT64_C(0),        // VST4d8Pseudo
    2649             :     UINT64_C(0),        // VST4d8Pseudo_UPD
    2650             :     UINT64_C(4093640704),       // VST4d8_UPD
    2651             :     UINT64_C(4093641039),       // VST4q16
    2652             :     UINT64_C(0),        // VST4q16Pseudo_UPD
    2653             :     UINT64_C(4093641024),       // VST4q16_UPD
    2654             :     UINT64_C(0),        // VST4q16oddPseudo
    2655             :     UINT64_C(0),        // VST4q16oddPseudo_UPD
    2656             :     UINT64_C(4093641103),       // VST4q32
    2657             :     UINT64_C(0),        // VST4q32Pseudo_UPD
    2658             :     UINT64_C(4093641088),       // VST4q32_UPD
    2659             :     UINT64_C(0),        // VST4q32oddPseudo
    2660             :     UINT64_C(0),        // VST4q32oddPseudo_UPD
    2661             :     UINT64_C(4093640975),       // VST4q8
    2662             :     UINT64_C(0),        // VST4q8Pseudo_UPD
    2663             :     UINT64_C(4093640960),       // VST4q8_UPD
    2664             :     UINT64_C(0),        // VST4q8oddPseudo
    2665             :     UINT64_C(0),        // VST4q8oddPseudo_UPD
    2666             :     UINT64_C(220203776),        // VSTMDDB_UPD
    2667             :     UINT64_C(209718016),        // VSTMDIA
    2668             :     UINT64_C(211815168),        // VSTMDIA_UPD
    2669             :     UINT64_C(0),        // VSTMQIA
    2670             :     UINT64_C(220203520),        // VSTMSDB_UPD
    2671             :     UINT64_C(209717760),        // VSTMSIA
    2672             :     UINT64_C(211814912),        // VSTMSIA_UPD
    2673             :     UINT64_C(218106624),        // VSTRD
    2674             :     UINT64_C(218106112),        // VSTRH
    2675             :     UINT64_C(218106368),        // VSTRS
    2676             :     UINT64_C(238029632),        // VSUBD
    2677             :     UINT64_C(238029120),        // VSUBH
    2678             :     UINT64_C(4070573568),       // VSUBHNv2i32
    2679             :     UINT64_C(4069524992),       // VSUBHNv4i16
    2680             :     UINT64_C(4068476416),       // VSUBHNv8i8
    2681             :     UINT64_C(4070572544),       // VSUBLsv2i64
    2682             :     UINT64_C(4069523968),       // VSUBLsv4i32
    2683             :     UINT64_C(4068475392),       // VSUBLsv8i16
    2684             :     UINT64_C(4087349760),       // VSUBLuv2i64
    2685             :     UINT64_C(4086301184),       // VSUBLuv4i32
    2686             :     UINT64_C(4085252608),       // VSUBLuv8i16
    2687             :     UINT64_C(238029376),        // VSUBS
    2688             :     UINT64_C(4070572800),       // VSUBWsv2i64
    2689             :     UINT64_C(4069524224),       // VSUBWsv4i32
    2690             :     UINT64_C(4068475648),       // VSUBWsv8i16
    2691             :     UINT64_C(4087350016),       // VSUBWuv2i64
    2692             :     UINT64_C(4086301440),       // VSUBWuv4i32
    2693             :     UINT64_C(4085252864),       // VSUBWuv8i16
    2694             :     UINT64_C(4062186752),       // VSUBfd
    2695             :     UINT64_C(4062186816),       // VSUBfq
    2696             :     UINT64_C(4063235328),       // VSUBhd
    2697             :     UINT64_C(4063235392),       // VSUBhq
    2698             :     UINT64_C(4076865600),       // VSUBv16i8
    2699             :     UINT64_C(4080011264),       // VSUBv1i64
    2700             :     UINT64_C(4078962688),       // VSUBv2i32
    2701             :     UINT64_C(4080011328),       // VSUBv2i64
    2702             :     UINT64_C(4077914112),       // VSUBv4i16
    2703             :     UINT64_C(4078962752),       // VSUBv4i32
    2704             :     UINT64_C(4077914176),       // VSUBv8i16
    2705             :     UINT64_C(4076865536),       // VSUBv8i8
    2706             :     UINT64_C(4088528896),       // VSWPd
    2707             :     UINT64_C(4088528960),       // VSWPq
    2708             :     UINT64_C(4088399872),       // VTBL1
    2709             :     UINT64_C(4088400128),       // VTBL2
    2710             :     UINT64_C(4088400384),       // VTBL3
    2711             :     UINT64_C(0),        // VTBL3Pseudo
    2712             :     UINT64_C(4088400640),       // VTBL4
    2713             :     UINT64_C(0),        // VTBL4Pseudo
    2714             :     UINT64_C(4088399936),       // VTBX1
    2715             :     UINT64_C(4088400192),       // VTBX2
    2716             :     UINT64_C(4088400448),       // VTBX3
    2717             :     UINT64_C(0),        // VTBX3Pseudo
    2718             :     UINT64_C(4088400704),       // VTBX4
    2719             :     UINT64_C(0),        // VTBX4Pseudo
    2720             :     UINT64_C(247335744),        // VTOSHD
    2721             :     UINT64_C(247335232),        // VTOSHH
    2722             :     UINT64_C(247335488),        // VTOSHS
    2723             :     UINT64_C(247270208),        // VTOSIRD
    2724             :     UINT64_C(247269696),        // VTOSIRH
    2725             :     UINT64_C(247269952),        // VTOSIRS
    2726             :     UINT64_C(247270336),        // VTOSIZD
    2727             :     UINT64_C(247269824),        // VTOSIZH
    2728             :     UINT64_C(247270080),        // VTOSIZS
    2729             :     UINT64_C(247335872),        // VTOSLD
    2730             :     UINT64_C(247335360),        // VTOSLH
    2731             :     UINT64_C(247335616),        // VTOSLS
    2732             :     UINT64_C(247401280),        // VTOUHD
    2733             :     UINT64_C(247400768),        // VTOUHH
    2734             :     UINT64_C(247401024),        // VTOUHS
    2735             :     UINT64_C(247204672),        // VTOUIRD
    2736             :     UINT64_C(247204160),        // VTOUIRH
    2737             :     UINT64_C(247204416),        // VTOUIRS
    2738             :     UINT64_C(247204800),        // VTOUIZD
    2739             :     UINT64_C(247204288),        // VTOUIZH
    2740             :     UINT64_C(247204544),        // VTOUIZS
    2741             :     UINT64_C(247401408),        // VTOULD
    2742             :     UINT64_C(247400896),        // VTOULH
    2743             :     UINT64_C(247401152),        // VTOULS
    2744             :     UINT64_C(4088791168),       // VTRNd16
    2745             :     UINT64_C(4089053312),       // VTRNd32
    2746             :     UINT64_C(4088529024),       // VTRNd8
    2747             :     UINT64_C(4088791232),       // VTRNq16
    2748             :     UINT64_C(4089053376),       // VTRNq32
    2749             :     UINT64_C(4088529088),       // VTRNq8
    2750             :     UINT64_C(4060088400),       // VTSTv16i8
    2751             :     UINT64_C(4062185488),       // VTSTv2i32
    2752             :     UINT64_C(4061136912),       // VTSTv4i16
    2753             :     UINT64_C(4062185552),       // VTSTv4i32
    2754             :     UINT64_C(4061136976),       // VTSTv8i16
    2755             :     UINT64_C(4060088336),       // VTSTv8i8
    2756             :     UINT64_C(4229958928),       // VUDOTD
    2757             :     UINT64_C(4263513360),       // VUDOTDI
    2758             :     UINT64_C(4229958992),       // VUDOTQ
    2759             :     UINT64_C(4263513424),       // VUDOTQI
    2760             :     UINT64_C(247139136),        // VUHTOD
    2761             :     UINT64_C(247138624),        // VUHTOH
    2762             :     UINT64_C(247138880),        // VUHTOS
    2763             :     UINT64_C(246942528),        // VUITOD
    2764             :     UINT64_C(246942016),        // VUITOH
    2765             :     UINT64_C(246942272),        // VUITOS
    2766             :     UINT64_C(247139264),        // VULTOD
    2767             :     UINT64_C(247138752),        // VULTOH
    2768             :     UINT64_C(247139008),        // VULTOS
    2769             :     UINT64_C(4088791296),       // VUZPd16
    2770             :     UINT64_C(4088529152),       // VUZPd8
    2771             :     UINT64_C(4088791360),       // VUZPq16
    2772             :     UINT64_C(4089053504),       // VUZPq32
    2773             :     UINT64_C(4088529216),       // VUZPq8
    2774             :     UINT64_C(4088791424),       // VZIPd16
    2775             :     UINT64_C(4088529280),       // VZIPd8
    2776             :     UINT64_C(4088791488),       // VZIPq16
    2777             :     UINT64_C(4089053632),       // VZIPq32
    2778             :     UINT64_C(4088529344),       // VZIPq8
    2779             :     UINT64_C(139460608),        // sysLDMDA
    2780             :     UINT64_C(141557760),        // sysLDMDA_UPD
    2781             :     UINT64_C(156237824),        // sysLDMDB
    2782             :     UINT64_C(158334976),        // sysLDMDB_UPD
    2783             :     UINT64_C(147849216),        // sysLDMIA
    2784             :     UINT64_C(149946368),        // sysLDMIA_UPD
    2785             :     UINT64_C(164626432),        // sysLDMIB
    2786             :     UINT64_C(166723584),        // sysLDMIB_UPD
    2787             :     UINT64_C(138412032),        // sysSTMDA
    2788             :     UINT64_C(140509184),        // sysSTMDA_UPD
    2789             :     UINT64_C(155189248),        // sysSTMDB
    2790             :     UINT64_C(157286400),        // sysSTMDB_UPD
    2791             :     UINT64_C(146800640),        // sysSTMIA
    2792             :     UINT64_C(148897792),        // sysSTMIA_UPD
    2793             :     UINT64_C(163577856),        // sysSTMIB
    2794             :     UINT64_C(165675008),        // sysSTMIB_UPD
    2795             :     UINT64_C(4047503360),       // t2ADCri
    2796             :     UINT64_C(3946840064),       // t2ADCrr
    2797             :     UINT64_C(3946840064),       // t2ADCrs
    2798             :     UINT64_C(4043309056),       // t2ADDri
    2799             :     UINT64_C(4060086272),       // t2ADDri12
    2800             :     UINT64_C(3942645760),       // t2ADDrr
    2801             :     UINT64_C(3942645760),       // t2ADDrs
    2802             :     UINT64_C(4061069312),       // t2ADR
    2803             :     UINT64_C(4026531840),       // t2ANDri
    2804             :     UINT64_C(3925868544),       // t2ANDrr
    2805             :     UINT64_C(3925868544),       // t2ANDrs
    2806             :     UINT64_C(3931045920),       // t2ASRri
    2807             :     UINT64_C(4198559744),       // t2ASRrr
    2808             :     UINT64_C(4026568704),       // t2B
    2809             :     UINT64_C(4084137984),       // t2BFC
    2810             :     UINT64_C(4083154944),       // t2BFI
    2811             :     UINT64_C(4028628992),       // t2BICri
    2812             :     UINT64_C(3927965696),       // t2BICrr
    2813             :     UINT64_C(3927965696),       // t2BICrs
    2814             :     UINT64_C(4089483008),       // t2BXJ
    2815             :     UINT64_C(4026564608),       // t2Bcc
    2816             :     UINT64_C(3992977408),       // t2CDP
    2817             :     UINT64_C(4261412864),       // t2CDP2
    2818             :     UINT64_C(4089417519),       // t2CLREX
    2819             :     UINT64_C(4205899904),       // t2CLZ
    2820             :     UINT64_C(4044361472),       // t2CMNri
    2821             :     UINT64_C(3943698176),       // t2CMNzrr
    2822             :     UINT64_C(3943698176),       // t2CMNzrs
    2823             :     UINT64_C(4054847232),       // t2CMPri
    2824             :     UINT64_C(3954183936),       // t2CMPrr
    2825             :     UINT64_C(3954183936),       // t2CMPrs
    2826             :     UINT64_C(4088365312),       // t2CPS1p
    2827             :     UINT64_C(4088365056),       // t2CPS2p
    2828             :     UINT64_C(4088365312),       // t2CPS3p
    2829             :     UINT64_C(4206948480),       // t2CRC32B
    2830             :     UINT64_C(4207997056),       // t2CRC32CB
    2831             :     UINT64_C(4207997072),       // t2CRC32CH
    2832             :     UINT64_C(4207997088),       // t2CRC32CW
    2833             :     UINT64_C(4206948496),       // t2CRC32H
    2834             :     UINT64_C(4206948512),       // t2CRC32W
    2835             :     UINT64_C(4088365296),       // t2DBG
    2836             :     UINT64_C(4153376769),       // t2DCPS1
    2837             :     UINT64_C(4153376770),       // t2DCPS2
    2838             :     UINT64_C(4153376771),       // t2DCPS3
    2839             :     UINT64_C(4089417552),       // t2DMB
    2840             :     UINT64_C(4089417536),       // t2DSB
    2841             :     UINT64_C(4034920448),       // t2EORri
    2842             :     UINT64_C(3934257152),       // t2EORrr
    2843             :     UINT64_C(3934257152),       // t2EORrs
    2844             :     UINT64_C(4088365056),       // t2HINT
    2845             :     UINT64_C(4158685184),       // t2HVC
    2846             :     UINT64_C(4089417568),       // t2ISB
    2847             :     UINT64_C(48896),    // t2IT
    2848             :     UINT64_C(0),        // t2Int_eh_sjlj_setjmp
    2849             :     UINT64_C(0),        // t2Int_eh_sjlj_setjmp_nofp
    2850             :     UINT64_C(3905949615),       // t2LDA
    2851             :     UINT64_C(3905949583),       // t2LDAB
    2852             :     UINT64_C(3905949679),       // t2LDAEX
    2853             :     UINT64_C(3905949647),       // t2LDAEXB
    2854             :     UINT64_C(3905945855),       // t2LDAEXD
    2855             :     UINT64_C(3905949663),       // t2LDAEXH
    2856             :     UINT64_C(3905949599),       // t2LDAH
    2857             :     UINT64_C(4249878528),       // t2LDC2L_OFFSET
    2858             :     UINT64_C(4241489920),       // t2LDC2L_OPTION
    2859             :     UINT64_C(4235198464),       // t2LDC2L_POST
    2860             :     UINT64_C(4251975680),       // t2LDC2L_PRE
    2861             :     UINT64_C(4245684224),       // t2LDC2_OFFSET
    2862             :     UINT64_C(4237295616),       // t2LDC2_OPTION
    2863             :     UINT64_C(4231004160),       // t2LDC2_POST
    2864             :     UINT64_C(4247781376),       // t2LDC2_PRE
    2865             :     UINT64_C(3981443072),       // t2LDCL_OFFSET
    2866             :     UINT64_C(3973054464),       // t2LDCL_OPTION
    2867             :     UINT64_C(3966763008),       // t2LDCL_POST
    2868             :     UINT64_C(3983540224),       // t2LDCL_PRE
    2869             :     UINT64_C(3977248768),       // t2LDC_OFFSET
    2870             :     UINT64_C(3968860160),       // t2LDC_OPTION
    2871             :     UINT64_C(3962568704),       // t2LDC_POST
    2872             :     UINT64_C(3979345920),       // t2LDC_PRE
    2873             :     UINT64_C(3910139904),       // t2LDMDB
    2874             :     UINT64_C(3912237056),       // t2LDMDB_UPD
    2875             :     UINT64_C(3901751296),       // t2LDMIA
    2876             :     UINT64_C(3903848448),       // t2LDMIA_UPD
    2877             :     UINT64_C(4161801728),       // t2LDRBT
    2878             :     UINT64_C(4161800448),       // t2LDRB_POST
    2879             :     UINT64_C(4161801472),       // t2LDRB_PRE
    2880             :     UINT64_C(4170186752),       // t2LDRBi12
    2881             :     UINT64_C(4161801216),       // t2LDRBi8
    2882             :     UINT64_C(4162781184),       // t2LDRBpci
    2883             :     UINT64_C(4161798144),       // t2LDRBs
    2884             :     UINT64_C(3899654144),       // t2LDRD_POST
    2885             :     UINT64_C(3916431360),       // t2LDRD_PRE
    2886             :     UINT64_C(3914334208),       // t2LDRDi8
    2887             :     UINT64_C(3897560832),       // t2LDREX
    2888             :     UINT64_C(3905949519),       // t2LDREXB
    2889             :     UINT64_C(3905945727),       // t2LDREXD
    2890             :     UINT64_C(3905949535),       // t2LDREXH
    2891             :     UINT64_C(4163898880),       // t2LDRHT
    2892             :     UINT64_C(4163897600),       // t2LDRH_POST
    2893             :     UINT64_C(4163898624),       // t2LDRH_PRE
    2894             :     UINT64_C(4172283904),       // t2LDRHi12
    2895             :     UINT64_C(4163898368),       // t2LDRHi8
    2896             :     UINT64_C(4164878336),       // t2LDRHpci
    2897             :     UINT64_C(4163895296),       // t2LDRHs
    2898             :     UINT64_C(4178578944),       // t2LDRSBT
    2899             :     UINT64_C(4178577664),       // t2LDRSB_POST
    2900             :     UINT64_C(4178578688),       // t2LDRSB_PRE
    2901             :     UINT64_C(4186963968),       // t2LDRSBi12
    2902             :     UINT64_C(4178578432),       // t2LDRSBi8
    2903             :     UINT64_C(4179558400),       // t2LDRSBpci
    2904             :     UINT64_C(4178575360),       // t2LDRSBs
    2905             :     UINT64_C(4180676096),       // t2LDRSHT
    2906             :     UINT64_C(4180674816),       // t2LDRSH_POST
    2907             :     UINT64_C(4180675840),       // t2LDRSH_PRE
    2908             :     UINT64_C(4189061120),       // t2LDRSHi12
    2909             :     UINT64_C(4180675584),       // t2LDRSHi8
    2910             :     UINT64_C(4181655552),       // t2LDRSHpci
    2911             :     UINT64_C(4180672512),       // t2LDRSHs
    2912             :     UINT64_C(4165996032),       // t2LDRT
    2913             :     UINT64_C(4165994752),       // t2LDR_POST
    2914             :     UINT64_C(4165995776),       // t2LDR_PRE
    2915             :     UINT64_C(4174381056),       // t2LDRi12
    2916             :     UINT64_C(4165995520),       // t2LDRi8
    2917             :     UINT64_C(4166975488),       // t2LDRpci
    2918             :     UINT64_C(4165992448),       // t2LDRs
    2919             :     UINT64_C(3931045888),       // t2LSLri
    2920             :     UINT64_C(4194365440),       // t2LSLrr
    2921             :     UINT64_C(3931045904),       // t2LSRri
    2922             :     UINT64_C(4196462592),       // t2LSRrr
    2923             :     UINT64_C(3992977424),       // t2MCR
    2924             :     UINT64_C(4261412880),       // t2MCR2
    2925             :     UINT64_C(3963617280),       // t2MCRR
    2926             :     UINT64_C(4232052736),       // t2MCRR2
    2927             :     UINT64_C(4211081216),       // t2MLA
    2928             :     UINT64_C(4211081232),       // t2MLS
    2929             :     UINT64_C(4072669184),       // t2MOVTi16
    2930             :     UINT64_C(4031709184),       // t2MOVi
    2931             :     UINT64_C(4064280576),       // t2MOVi16
    2932             :     UINT64_C(3931045888),       // t2MOVr
    2933             :     UINT64_C(3932094560),       // t2MOVsra_flag
    2934             :     UINT64_C(3932094544),       // t2MOVsrl_flag
    2935             :     UINT64_C(3994026000),       // t2MRC
    2936             :     UINT64_C(4262461456),       // t2MRC2
    2937             :     UINT64_C(3964665856),       // t2MRRC
    2938             :     UINT64_C(4233101312),       // t2MRRC2
    2939             :     UINT64_C(4092559360),       // t2MRS_AR
    2940             :     UINT64_C(4092559360),       // t2MRS_M
    2941             :     UINT64_C(4091576352),       // t2MRSbanked
    2942             :     UINT64_C(4093607936),       // t2MRSsys_AR
    2943             :     UINT64_C(4085284864),       // t2MSR_AR
    2944             :     UINT64_C(4085284864),       // t2MSR_M
    2945             :     UINT64_C(4085284896),       // t2MSRbanked
    2946             :     UINT64_C(4211142656),       // t2MUL
    2947             :     UINT64_C(4033806336),       // t2MVNi
    2948             :     UINT64_C(3933143040),       // t2MVNr
    2949             :     UINT64_C(3933143040),       // t2MVNs
    2950             :     UINT64_C(4032823296),       // t2ORNri
    2951             :     UINT64_C(3932160000),       // t2ORNrr
    2952             :     UINT64_C(3932160000),       // t2ORNrs
    2953             :     UINT64_C(4030726144),       // t2ORRri
    2954             :     UINT64_C(3930062848),       // t2ORRrr
    2955             :     UINT64_C(3930062848),       // t2ORRrs
    2956             :     UINT64_C(3938451456),       // t2PKHBT
    2957             :     UINT64_C(3938451488),       // t2PKHTB
    2958             :     UINT64_C(4172345344),       // t2PLDWi12
    2959             :     UINT64_C(4163959808),       // t2PLDWi8
    2960             :     UINT64_C(4163956736),       // t2PLDWs
    2961             :     UINT64_C(4170248192),       // t2PLDi12
    2962             :     UINT64_C(4161862656),       // t2PLDi8
    2963             :     UINT64_C(4162842624),       // t2PLDpci
    2964             :     UINT64_C(4161859584),       // t2PLDs
    2965             :     UINT64_C(4187025408),       // t2PLIi12
    2966             :     UINT64_C(4178639872),       // t2PLIi8
    2967             :     UINT64_C(4179619840),       // t2PLIpci
    2968             :     UINT64_C(4178636800),       // t2PLIs
    2969             :     UINT64_C(4202754176),       // t2QADD
    2970             :     UINT64_C(4203802640),       // t2QADD16
    2971             :     UINT64_C(4202754064),       // t2QADD8
    2972             :     UINT64_C(4204851216),       // t2QASX
    2973             :     UINT64_C(4202754192),       // t2QDADD
    2974             :     UINT64_C(4202754224),       // t2QDSUB
    2975             :     UINT64_C(4209045520),       // t2QSAX
    2976             :     UINT64_C(4202754208),       // t2QSUB
    2977             :     UINT64_C(4207996944),       // t2QSUB16
    2978             :     UINT64_C(4206948368),       // t2QSUB8
    2979             :     UINT64_C(4203802784),       // t2RBIT
    2980             :     UINT64_C(4203802752),       // t2REV
    2981             :     UINT64_C(4203802768),       // t2REV16
    2982             :     UINT64_C(4203802800),       // t2REVSH
    2983             :     UINT64_C(3893411840),       // t2RFEDB
    2984             :     UINT64_C(3895508992),       // t2RFEDBW
    2985             :     UINT64_C(3918577664),       // t2RFEIA
    2986             :     UINT64_C(3920674816),       // t2RFEIAW
    2987             :     UINT64_C(3931045936),       // t2RORri
    2988             :     UINT64_C(4200656896),       // t2RORrr
    2989             :     UINT64_C(3931045936),       // t2RRX
    2990             :     UINT64_C(4055891968),       // t2RSBri
    2991             :     UINT64_C(3955228672),       // t2RSBrr
    2992             :     UINT64_C(3955228672),       // t2RSBrs
    2993             :     UINT64_C(4203802624),       // t2SADD16
    2994             :     UINT64_C(4202754048),       // t2SADD8
    2995             :     UINT64_C(4204851200),       // t2SASX
    2996             :     UINT64_C(4089417584),       // t2SB
    2997             :     UINT64_C(4049600512),       // t2SBCri
    2998             :     UINT64_C(3948937216),       // t2SBCrr
    2999             :     UINT64_C(3948937216),       // t2SBCrs
    3000             :     UINT64_C(4081057792),       // t2SBFX
    3001             :     UINT64_C(4220580080),       // t2SDIV
    3002             :     UINT64_C(4204851328),       // t2SEL
    3003             :     UINT64_C(46608),    // t2SETPAN
    3004             :     UINT64_C(3917474175),       // t2SG
    3005             :     UINT64_C(4203802656),       // t2SHADD16
    3006             :     UINT64_C(4202754080),       // t2SHADD8
    3007             :     UINT64_C(4204851232),       // t2SHASX
    3008             :     UINT64_C(4209045536),       // t2SHSAX
    3009             :     UINT64_C(4207996960),       // t2SHSUB16
    3010             :     UINT64_C(4206948384),       // t2SHSUB8
    3011             :     UINT64_C(4159733760),       // t2SMC
    3012             :     UINT64_C(4212129792),       // t2SMLABB
    3013             :     UINT64_C(4212129808),       // t2SMLABT
    3014             :     UINT64_C(4213178368),       // t2SMLAD
    3015             :     UINT64_C(4213178384),       // t2SMLADX
    3016             :     UINT64_C(4223664128),       // t2SMLAL
    3017             :     UINT64_C(4223664256),       // t2SMLALBB
    3018             :     UINT64_C(4223664272),       // t2SMLALBT
    3019             :     UINT64_C(4223664320),       // t2SMLALD
    3020             :     UINT64_C(4223664336),       // t2SMLALDX
    3021             :     UINT64_C(4223664288),       // t2SMLALTB
    3022             :     UINT64_C(4223664304),       // t2SMLALTT
    3023             :     UINT64_C(4212129824),       // t2SMLATB
    3024             :     UINT64_C(4212129840),       // t2SMLATT
    3025             :     UINT64_C(4214226944),       // t2SMLAWB
    3026             :     UINT64_C(4214226960),       // t2SMLAWT
    3027             :     UINT64_C(4215275520),       // t2SMLSD
    3028             :     UINT64_C(4215275536),       // t2SMLSDX
    3029             :     UINT64_C(4224712896),       // t2SMLSLD
    3030             :     UINT64_C(4224712912),       // t2SMLSLDX
    3031             :     UINT64_C(4216324096),       // t2SMMLA
    3032             :     UINT64_C(4216324112),       // t2SMMLAR
    3033             :     UINT64_C(4217372672),       // t2SMMLS
    3034             :     UINT64_C(4217372688),       // t2SMMLSR
    3035             :     UINT64_C(4216385536),       // t2SMMUL
    3036             :     UINT64_C(4216385552),       // t2SMMULR
    3037             :     UINT64_C(4213239808),       // t2SMUAD
    3038             :     UINT64_C(4213239824),       // t2SMUADX
    3039             :     UINT64_C(4212191232),       // t2SMULBB
    3040             :     UINT64_C(4212191248),       // t2SMULBT
    3041             :     UINT64_C(4219469824),       // t2SMULL
    3042             :     UINT64_C(4212191264),       // t2SMULTB
    3043             :     UINT64_C(4212191280),       // t2SMULTT
    3044             :     UINT64_C(4214288384),       // t2SMULWB
    3045             :     UINT64_C(4214288400),       // t2SMULWT
    3046             :     UINT64_C(4215336960),       // t2SMUSD
    3047             :     UINT64_C(4215336976),       // t2SMUSDX
    3048             :     UINT64_C(3893215232),       // t2SRSDB
    3049             :     UINT64_C(3895312384),       // t2SRSDB_UPD
    3050             :     UINT64_C(3918381056),       // t2SRSIA
    3051             :     UINT64_C(3920478208),       // t2SRSIA_UPD
    3052             :     UINT64_C(4076863488),       // t2SSAT
    3053             :     UINT64_C(4078960640),       // t2SSAT16
    3054             :     UINT64_C(4209045504),       // t2SSAX
    3055             :     UINT64_C(4207996928),       // t2SSUB16
    3056             :     UINT64_C(4206948352),       // t2SSUB8
    3057             :     UINT64_C(4248829952),       // t2STC2L_OFFSET
    3058             :     UINT64_C(4240441344),       // t2STC2L_OPTION
    3059             :     UINT64_C(4234149888),       // t2STC2L_POST
    3060             :     UINT64_C(4250927104),       // t2STC2L_PRE
    3061             :     UINT64_C(4244635648),       // t2STC2_OFFSET
    3062             :     UINT64_C(4236247040),       // t2STC2_OPTION
    3063             :     UINT64_C(4229955584),       // t2STC2_POST
    3064             :     UINT64_C(4246732800),       // t2STC2_PRE
    3065             :     UINT64_C(3980394496),       // t2STCL_OFFSET
    3066             :     UINT64_C(3972005888),       // t2STCL_OPTION
    3067             :     UINT64_C(3965714432),       // t2STCL_POST
    3068             :     UINT64_C(3982491648),       // t2STCL_PRE
    3069             :     UINT64_C(3976200192),       // t2STC_OFFSET
    3070             :     UINT64_C(3967811584),       // t2STC_OPTION
    3071             :     UINT64_C(3961520128),       // t2STC_POST
    3072             :     UINT64_C(3978297344),       // t2STC_PRE
    3073             :     UINT64_C(3904901039),       // t2STL
    3074             :     UINT64_C(3904901007),       // t2STLB
    3075             :     UINT64_C(3904901088),       // t2STLEX
    3076             :     UINT64_C(3904901056),       // t2STLEXB
    3077             :     UINT64_C(3904897264),       // t2STLEXD
    3078             :     UINT64_C(3904901072),       // t2STLEXH
    3079             :     UINT64_C(3904901023),       // t2STLH
    3080             :     UINT64_C(3909091328),       // t2STMDB
    3081             :     UINT64_C(3911188480),       // t2STMDB_UPD
    3082             :     UINT64_C(3900702720),       // t2STMIA
    3083             :     UINT64_C(3902799872),       // t2STMIA_UPD
    3084             :     UINT64_C(4160753152),       // t2STRBT
    3085             :     UINT64_C(4160751872),       // t2STRB_POST
    3086             :     UINT64_C(4160752896),       // t2STRB_PRE
    3087             :     UINT64_C(4169138176),       // t2STRBi12
    3088             :     UINT64_C(4160752640),       // t2STRBi8
    3089             :     UINT64_C(4160749568),       // t2STRBs
    3090             :     UINT64_C(3898605568),       // t2STRD_POST
    3091             :     UINT64_C(3915382784),       // t2STRD_PRE
    3092             :     UINT64_C(3913285632),       // t2STRDi8
    3093             :     UINT64_C(3896508416),       // t2STREX
    3094             :     UINT64_C(3904900928),       // t2STREXB
    3095             :     UINT64_C(3904897136),       // t2STREXD
    3096             :     UINT64_C(3904900944),       // t2STREXH
    3097             :     UINT64_C(4162850304),       // t2STRHT
    3098             :     UINT64_C(4162849024),       // t2STRH_POST
    3099             :     UINT64_C(4162850048),       // t2STRH_PRE
    3100             :     UINT64_C(4171235328),       // t2STRHi12
    3101             :     UINT64_C(4162849792),       // t2STRHi8
    3102             :     UINT64_C(4162846720),       // t2STRHs
    3103             :     UINT64_C(4164947456),       // t2STRT
    3104             :     UINT64_C(4164946176),       // t2STR_POST
    3105             :     UINT64_C(4164947200),       // t2STR_PRE
    3106             :     UINT64_C(4173332480),       // t2STRi12
    3107             :     UINT64_C(4164946944),       // t2STRi8
    3108             :     UINT64_C(4164943872),       // t2STRs
    3109             :     UINT64_C(4091449088),       // t2SUBS_PC_LR
    3110             :     UINT64_C(4053794816),       // t2SUBri
    3111             :     UINT64_C(4070572032),       // t2SUBri12
    3112             :     UINT64_C(3953131520),       // t2SUBrr
    3113             :     UINT64_C(3953131520),       // t2SUBrs
    3114             :     UINT64_C(4198559872),       // t2SXTAB
    3115             :     UINT64_C(4196462720),       // t2SXTAB16
    3116             :     UINT64_C(4194365568),       // t2SXTAH
    3117             :     UINT64_C(4199542912),       // t2SXTB
    3118             :     UINT64_C(4197445760),       // t2SXTB16
    3119             :     UINT64_C(4195348608),       // t2SXTH
    3120             :     UINT64_C(3906007040),       // t2TBB
    3121             :     UINT64_C(3906007056),       // t2TBH
    3122             :     UINT64_C(4035972864),       // t2TEQri
    3123             :     UINT64_C(3935309568),       // t2TEQrr
    3124             :     UINT64_C(3935309568),       // t2TEQrs
    3125             :     UINT64_C(4088365074),       // t2TSB
    3126             :     UINT64_C(4027584256),       // t2TSTri
    3127             :     UINT64_C(3926920960),       // t2TSTrr
    3128             :     UINT64_C(3926920960),       // t2TSTrs
    3129             :     UINT64_C(3896569856),       // t2TT
    3130             :     UINT64_C(3896569984),       // t2TTA
    3131             :     UINT64_C(3896570048),       // t2TTAT
    3132             :     UINT64_C(3896569920),       // t2TTT
    3133             :     UINT64_C(4203802688),       // t2UADD16
    3134             :     UINT64_C(4202754112),       // t2UADD8
    3135             :     UINT64_C(4204851264),       // t2UASX
    3136             :     UINT64_C(4089446400),       // t2UBFX
    3137             :     UINT64_C(4159741952),       // t2UDF
    3138             :     UINT64_C(4222677232),       // t2UDIV
    3139             :     UINT64_C(4203802720),       // t2UHADD16
    3140             :     UINT64_C(4202754144),       // t2UHADD8
    3141             :     UINT64_C(4204851296),       // t2UHASX
    3142             :     UINT64_C(4209045600),       // t2UHSAX
    3143             :     UINT64_C(4207997024),       // t2UHSUB16
    3144             :     UINT64_C(4206948448),       // t2UHSUB8
    3145             :     UINT64_C(4225761376),       // t2UMAAL
    3146             :     UINT64_C(4225761280),       // t2UMLAL
    3147             :     UINT64_C(4221566976),       // t2UMULL
    3148             :     UINT64_C(4203802704),       // t2UQADD16
    3149             :     UINT64_C(4202754128),       // t2UQADD8
    3150             :     UINT64_C(4204851280),       // t2UQASX
    3151             :     UINT64_C(4209045584),       // t2UQSAX
    3152             :     UINT64_C(4207997008),       // t2UQSUB16
    3153             :     UINT64_C(4206948432),       // t2UQSUB8
    3154             :     UINT64_C(4218482688),       // t2USAD8
    3155             :     UINT64_C(4218421248),       // t2USADA8
    3156             :     UINT64_C(4085252096),       // t2USAT
    3157             :     UINT64_C(4087349248),       // t2USAT16
    3158             :     UINT64_C(4209045568),       // t2USAX
    3159             :     UINT64_C(4207996992),       // t2USUB16
    3160             :     UINT64_C(4206948416),       // t2USUB8
    3161             :     UINT64_C(4199608448),       // t2UXTAB
    3162             :     UINT64_C(4197511296),       // t2UXTAB16
    3163             :     UINT64_C(4195414144),       // t2UXTAH
    3164             :     UINT64_C(4200591488),       // t2UXTB
    3165             :     UINT64_C(4198494336),       // t2UXTB16
    3166             :     UINT64_C(4196397184),       // t2UXTH
    3167             :     UINT64_C(16704),    // tADC
    3168             :     UINT64_C(17408),    // tADDhirr
    3169             :     UINT64_C(7168),     // tADDi3
    3170             :     UINT64_C(12288),    // tADDi8
    3171             :     UINT64_C(17512),    // tADDrSP
    3172             :     UINT64_C(43008),    // tADDrSPi
    3173             :     UINT64_C(6144),     // tADDrr
    3174             :     UINT64_C(45056),    // tADDspi
    3175             :     UINT64_C(17541),    // tADDspr
    3176             :     UINT64_C(40960),    // tADR
    3177             :     UINT64_C(16384),    // tAND
    3178             :     UINT64_C(4096),     // tASRri
    3179             :     UINT64_C(16640),    // tASRrr
    3180             :     UINT64_C(57344),    // tB
    3181             :     UINT64_C(17280),    // tBIC
    3182             :     UINT64_C(48640),    // tBKPT
    3183             :     UINT64_C(4026585088),       // tBL
    3184             :     UINT64_C(18308),    // tBLXNSr
    3185             :     UINT64_C(4026580992),       // tBLXi
    3186             :     UINT64_C(18304),    // tBLXr
    3187             :     UINT64_C(18176),    // tBX
    3188             :     UINT64_C(18180),    // tBXNS
    3189             :     UINT64_C(53248),    // tBcc
    3190             :     UINT64_C(47360),    // tCBNZ
    3191             :     UINT64_C(45312),    // tCBZ
    3192             :     UINT64_C(17088),    // tCMNz
    3193             :     UINT64_C(17664),    // tCMPhir
    3194             :     UINT64_C(10240),    // tCMPi8
    3195             :     UINT64_C(17024),    // tCMPr
    3196             :     UINT64_C(46688),    // tCPS
    3197             :     UINT64_C(16448),    // tEOR
    3198             :     UINT64_C(48896),    // tHINT
    3199             :     UINT64_C(47744),    // tHLT
    3200             :     UINT64_C(0),        // tInt_WIN_eh_sjlj_longjmp
    3201             :     UINT64_C(0),        // tInt_eh_sjlj_longjmp
    3202             :     UINT64_C(0),        // tInt_eh_sjlj_setjmp
    3203             :     UINT64_C(51200),    // tLDMIA
    3204             :     UINT64_C(30720),    // tLDRBi
    3205             :     UINT64_C(23552),    // tLDRBr
    3206             :     UINT64_C(34816),    // tLDRHi
    3207             :     UINT64_C(23040),    // tLDRHr
    3208             :     UINT64_C(22016),    // tLDRSB
    3209             :     UINT64_C(24064),    // tLDRSH
    3210             :     UINT64_C(26624),    // tLDRi
    3211             :     UINT64_C(18432),    // tLDRpci
    3212             :     UINT64_C(22528),    // tLDRr
    3213             :     UINT64_C(38912),    // tLDRspi
    3214             :     UINT64_C(0),        // tLSLri
    3215             :     UINT64_C(16512),    // tLSLrr
    3216             :     UINT64_C(2048),     // tLSRri
    3217             :     UINT64_C(16576),    // tLSRrr
    3218             :     UINT64_C(0),        // tMOVSr
    3219             :     UINT64_C(8192),     // tMOVi8
    3220             :     UINT64_C(17920),    // tMOVr
    3221             :     UINT64_C(17216),    // tMUL
    3222             :     UINT64_C(17344),    // tMVN
    3223             :     UINT64_C(17152),    // tORR
    3224             :     UINT64_C(17528),    // tPICADD
    3225             :     UINT64_C(48128),    // tPOP
    3226             :     UINT64_C(46080),    // tPUSH
    3227             :     UINT64_C(47616),    // tREV
    3228             :     UINT64_C(47680),    // tREV16
    3229             :     UINT64_C(47808),    // tREVSH
    3230             :     UINT64_C(16832),    // tROR
    3231             :     UINT64_C(16960),    // tRSB
    3232             :     UINT64_C(16768),    // tSBC
    3233             :     UINT64_C(46672),    // tSETEND
    3234             :     UINT64_C(49152),    // tSTMIA_UPD
    3235             :     UINT64_C(28672),    // tSTRBi
    3236             :     UINT64_C(21504),    // tSTRBr
    3237             :     UINT64_C(32768),    // tSTRHi
    3238             :     UINT64_C(20992),    // tSTRHr
    3239             :     UINT64_C(24576),    // tSTRi
    3240             :     UINT64_C(20480),    // tSTRr
    3241             :     UINT64_C(36864),    // tSTRspi
    3242             :     UINT64_C(7680),     // tSUBi3
    3243             :     UINT64_C(14336),    // tSUBi8
    3244             :     UINT64_C(6656),     // tSUBrr
    3245             :     UINT64_C(45184),    // tSUBspi
    3246             :     UINT64_C(57088),    // tSVC
    3247             :     UINT64_C(45632),    // tSXTB
    3248             :     UINT64_C(45568),    // tSXTH
    3249             :     UINT64_C(57086),    // tTRAP
    3250             :     UINT64_C(16896),    // tTST
    3251             :     UINT64_C(56832),    // tUDF
    3252             :     UINT64_C(45760),    // tUXTB
    3253             :     UINT64_C(45696),    // tUXTH
    3254             :     UINT64_C(57081),    // t__brkdiv0
    3255             :     UINT64_C(0)
    3256             :   };
    3257       41931 :   const unsigned opcode = MI.getOpcode();
    3258       41931 :   uint64_t Value = InstBits[opcode];
    3259             :   uint64_t op = 0;
    3260             :   (void)op;  // suppress warning
    3261       41931 :   switch (opcode) {
    3262             :     case ARM::CLREX:
    3263             :     case ARM::SB:
    3264             :     case ARM::TRAP:
    3265             :     case ARM::TRAPNaCl:
    3266             :     case ARM::TSB:
    3267             :     case ARM::VLD1LNq16Pseudo:
    3268             :     case ARM::VLD1LNq16Pseudo_UPD:
    3269             :     case ARM::VLD1LNq32Pseudo:
    3270             :     case ARM::VLD1LNq32Pseudo_UPD:
    3271             :     case ARM::VLD1LNq8Pseudo:
    3272             :     case ARM::VLD1LNq8Pseudo_UPD:
    3273             :     case ARM::VLD1d16QPseudo:
    3274             :     case ARM::VLD1d16TPseudo:
    3275             :     case ARM::VLD1d32QPseudo:
    3276             :     case ARM::VLD1d32TPseudo:
    3277             :     case ARM::VLD1d64QPseudo:
    3278             :     case ARM::VLD1d64QPseudoWB_fixed:
    3279             :     case ARM::VLD1d64QPseudoWB_register:
    3280             :     case ARM::VLD1d64TPseudo:
    3281             :     case ARM::VLD1d64TPseudoWB_fixed:
    3282             :     case ARM::VLD1d64TPseudoWB_register:
    3283             :     case ARM::VLD1d8QPseudo:
    3284             :     case ARM::VLD1d8TPseudo:
    3285             :     case ARM::VLD1q16HighQPseudo:
    3286             :     case ARM::VLD1q16HighTPseudo:
    3287             :     case ARM::VLD1q16LowQPseudo_UPD:
    3288             :     case ARM::VLD1q16LowTPseudo_UPD:
    3289             :     case ARM::VLD1q32HighQPseudo:
    3290             :     case ARM::VLD1q32HighTPseudo:
    3291             :     case ARM::VLD1q32LowQPseudo_UPD:
    3292             :     case ARM::VLD1q32LowTPseudo_UPD:
    3293             :     case ARM::VLD1q64HighQPseudo:
    3294             :     case ARM::VLD1q64HighTPseudo:
    3295             :     case ARM::VLD1q64LowQPseudo_UPD:
    3296             :     case ARM::VLD1q64LowTPseudo_UPD:
    3297             :     case ARM::VLD1q8HighQPseudo:
    3298             :     case ARM::VLD1q8HighTPseudo:
    3299             :     case ARM::VLD1q8LowQPseudo_UPD:
    3300             :     case ARM::VLD1q8LowTPseudo_UPD:
    3301             :     case ARM::VLD2DUPq16EvenPseudo:
    3302             :     case ARM::VLD2DUPq16OddPseudo:
    3303             :     case ARM::VLD2DUPq32EvenPseudo:
    3304             :     case ARM::VLD2DUPq32OddPseudo:
    3305             :     case ARM::VLD2DUPq8EvenPseudo:
    3306             :     case ARM::VLD2DUPq8OddPseudo:
    3307             :     case ARM::VLD2LNd16Pseudo:
    3308             :     case ARM::VLD2LNd16Pseudo_UPD:
    3309             :     case ARM::VLD2LNd32Pseudo:
    3310             :     case ARM::VLD2LNd32Pseudo_UPD:
    3311             :     case ARM::VLD2LNd8Pseudo:
    3312             :     case ARM::VLD2LNd8Pseudo_UPD:
    3313             :     case ARM::VLD2LNq16Pseudo:
    3314             :     case ARM::VLD2LNq16Pseudo_UPD:
    3315             :     case ARM::VLD2LNq32Pseudo:
    3316             :     case ARM::VLD2LNq32Pseudo_UPD:
    3317             :     case ARM::VLD2q16Pseudo:
    3318             :     case ARM::VLD2q16PseudoWB_fixed:
    3319             :     case ARM::VLD2q16PseudoWB_register:
    3320             :     case ARM::VLD2q32Pseudo:
    3321             :     case ARM::VLD2q32PseudoWB_fixed:
    3322             :     case ARM::VLD2q32PseudoWB_register:
    3323             :     case ARM::VLD2q8Pseudo:
    3324             :     case ARM::VLD2q8PseudoWB_fixed:
    3325             :     case ARM::VLD2q8PseudoWB_register:
    3326             :     case ARM::VLD3DUPd16Pseudo:
    3327             :     case ARM::VLD3DUPd16Pseudo_UPD:
    3328             :     case ARM::VLD3DUPd32Pseudo:
    3329             :     case ARM::VLD3DUPd32Pseudo_UPD:
    3330             :     case ARM::VLD3DUPd8Pseudo:
    3331             :     case ARM::VLD3DUPd8Pseudo_UPD:
    3332             :     case ARM::VLD3DUPq16EvenPseudo:
    3333             :     case ARM::VLD3DUPq16OddPseudo:
    3334             :     case ARM::VLD3DUPq32EvenPseudo:
    3335             :     case ARM::VLD3DUPq32OddPseudo:
    3336             :     case ARM::VLD3DUPq8EvenPseudo:
    3337             :     case ARM::VLD3DUPq8OddPseudo:
    3338             :     case ARM::VLD3LNd16Pseudo:
    3339             :     case ARM::VLD3LNd16Pseudo_UPD:
    3340             :     case ARM::VLD3LNd32Pseudo:
    3341             :     case ARM::VLD3LNd32Pseudo_UPD:
    3342             :     case ARM::VLD3LNd8Pseudo:
    3343             :     case ARM::VLD3LNd8Pseudo_UPD:
    3344             :     case ARM::VLD3LNq16Pseudo:
    3345             :     case ARM::VLD3LNq16Pseudo_UPD:
    3346             :     case ARM::VLD3LNq32Pseudo:
    3347             :     case ARM::VLD3LNq32Pseudo_UPD:
    3348             :     case ARM::VLD3d16Pseudo:
    3349             :     case ARM::VLD3d16Pseudo_UPD:
    3350             :     case ARM::VLD3d32Pseudo:
    3351             :     case ARM::VLD3d32Pseudo_UPD:
    3352             :     case ARM::VLD3d8Pseudo:
    3353             :     case ARM::VLD3d8Pseudo_UPD:
    3354             :     case ARM::VLD3q16Pseudo_UPD:
    3355             :     case ARM::VLD3q16oddPseudo:
    3356             :     case ARM::VLD3q16oddPseudo_UPD:
    3357             :     case ARM::VLD3q32Pseudo_UPD:
    3358             :     case ARM::VLD3q32oddPseudo:
    3359             :     case ARM::VLD3q32oddPseudo_UPD:
    3360             :     case ARM::VLD3q8Pseudo_UPD:
    3361             :     case ARM::VLD3q8oddPseudo:
    3362             :     case ARM::VLD3q8oddPseudo_UPD:
    3363             :     case ARM::VLD4DUPd16Pseudo:
    3364             :     case ARM::VLD4DUPd16Pseudo_UPD:
    3365             :     case ARM::VLD4DUPd32Pseudo:
    3366             :     case ARM::VLD4DUPd32Pseudo_UPD:
    3367             :     case ARM::VLD4DUPd8Pseudo:
    3368             :     case ARM::VLD4DUPd8Pseudo_UPD:
    3369             :     case ARM::VLD4DUPq16EvenPseudo:
    3370             :     case ARM::VLD4DUPq16OddPseudo:
    3371             :     case ARM::VLD4DUPq32EvenPseudo:
    3372             :     case ARM::VLD4DUPq32OddPseudo:
    3373             :     case ARM::VLD4DUPq8EvenPseudo:
    3374             :     case ARM::VLD4DUPq8OddPseudo:
    3375             :     case ARM::VLD4LNd16Pseudo:
    3376             :     case ARM::VLD4LNd16Pseudo_UPD:
    3377             :     case ARM::VLD4LNd32Pseudo:
    3378             :     case ARM::VLD4LNd32Pseudo_UPD:
    3379             :     case ARM::VLD4LNd8Pseudo:
    3380             :     case ARM::VLD4LNd8Pseudo_UPD:
    3381             :     case ARM::VLD4LNq16Pseudo:
    3382             :     case ARM::VLD4LNq16Pseudo_UPD:
    3383             :     case ARM::VLD4LNq32Pseudo:
    3384             :     case ARM::VLD4LNq32Pseudo_UPD:
    3385             :     case ARM::VLD4d16Pseudo:
    3386             :     case ARM::VLD4d16Pseudo_UPD:
    3387             :     case ARM::VLD4d32Pseudo:
    3388             :     case ARM::VLD4d32Pseudo_UPD:
    3389             :     case ARM::VLD4d8Pseudo:
    3390             :     case ARM::VLD4d8Pseudo_UPD:
    3391             :     case ARM::VLD4q16Pseudo_UPD:
    3392             :     case ARM::VLD4q16oddPseudo:
    3393             :     case ARM::VLD4q16oddPseudo_UPD:
    3394             :     case ARM::VLD4q32Pseudo_UPD:
    3395             :     case ARM::VLD4q32oddPseudo:
    3396             :     case ARM::VLD4q32oddPseudo_UPD:
    3397             :     case ARM::VLD4q8Pseudo_UPD:
    3398             :     case ARM::VLD4q8oddPseudo:
    3399             :     case ARM::VLD4q8oddPseudo_UPD:
    3400             :     case ARM::VLDMQIA:
    3401             :     case ARM::VST1LNq16Pseudo:
    3402             :     case ARM::VST1LNq16Pseudo_UPD:
    3403             :     case ARM::VST1LNq32Pseudo:
    3404             :     case ARM::VST1LNq32Pseudo_UPD:
    3405             :     case ARM::VST1LNq8Pseudo:
    3406             :     case ARM::VST1LNq8Pseudo_UPD:
    3407             :     case ARM::VST1d16QPseudo:
    3408             :     case ARM::VST1d16TPseudo:
    3409             :     case ARM::VST1d32QPseudo:
    3410             :     case ARM::VST1d32TPseudo:
    3411             :     case ARM::VST1d64QPseudo:
    3412             :     case ARM::VST1d64QPseudoWB_fixed:
    3413             :     case ARM::VST1d64QPseudoWB_register:
    3414             :     case ARM::VST1d64TPseudo:
    3415             :     case ARM::VST1d64TPseudoWB_fixed:
    3416             :     case ARM::VST1d64TPseudoWB_register:
    3417             :     case ARM::VST1d8QPseudo:
    3418             :     case ARM::VST1d8TPseudo:
    3419             :     case ARM::VST1q16HighQPseudo:
    3420             :     case ARM::VST1q16HighTPseudo:
    3421             :     case ARM::VST1q16LowQPseudo_UPD:
    3422             :     case ARM::VST1q16LowTPseudo_UPD:
    3423             :     case ARM::VST1q32HighQPseudo:
    3424             :     case ARM::VST1q32HighTPseudo:
    3425             :     case ARM::VST1q32LowQPseudo_UPD:
    3426             :     case ARM::VST1q32LowTPseudo_UPD:
    3427             :     case ARM::VST1q64HighQPseudo:
    3428             :     case ARM::VST1q64HighTPseudo:
    3429             :     case ARM::VST1q64LowQPseudo_UPD:
    3430             :     case ARM::VST1q64LowTPseudo_UPD:
    3431             :     case ARM::VST1q8HighQPseudo:
    3432             :     case ARM::VST1q8HighTPseudo:
    3433             :     case ARM::VST1q8LowQPseudo_UPD:
    3434             :     case ARM::VST1q8LowTPseudo_UPD:
    3435             :     case ARM::VST2LNd16Pseudo:
    3436             :     case ARM::VST2LNd16Pseudo_UPD:
    3437             :     case ARM::VST2LNd32Pseudo:
    3438             :     case ARM::VST2LNd32Pseudo_UPD:
    3439             :     case ARM::VST2LNd8Pseudo:
    3440             :     case ARM::VST2LNd8Pseudo_UPD:
    3441             :     case ARM::VST2LNq16Pseudo:
    3442             :     case ARM::VST2LNq16Pseudo_UPD:
    3443             :     case ARM::VST2LNq32Pseudo:
    3444             :     case ARM::VST2LNq32Pseudo_UPD:
    3445             :     case ARM::VST2q16Pseudo:
    3446             :     case ARM::VST2q16PseudoWB_fixed:
    3447             :     case ARM::VST2q16PseudoWB_register:
    3448             :     case ARM::VST2q32Pseudo:
    3449             :     case ARM::VST2q32PseudoWB_fixed:
    3450             :     case ARM::VST2q32PseudoWB_register:
    3451             :     case ARM::VST2q8Pseudo:
    3452             :     case ARM::VST2q8PseudoWB_fixed:
    3453             :     case ARM::VST2q8PseudoWB_register:
    3454             :     case ARM::VST3LNd16Pseudo:
    3455             :     case ARM::VST3LNd16Pseudo_UPD:
    3456             :     case ARM::VST3LNd32Pseudo:
    3457             :     case ARM::VST3LNd32Pseudo_UPD:
    3458             :     case ARM::VST3LNd8Pseudo:
    3459             :     case ARM::VST3LNd8Pseudo_UPD:
    3460             :     case ARM::VST3LNq16Pseudo:
    3461             :     case ARM::VST3LNq16Pseudo_UPD:
    3462             :     case ARM::VST3LNq32Pseudo:
    3463             :     case ARM::VST3LNq32Pseudo_UPD:
    3464             :     case ARM::VST3d16Pseudo:
    3465             :     case ARM::VST3d16Pseudo_UPD:
    3466             :     case ARM::VST3d32Pseudo:
    3467             :     case ARM::VST3d32Pseudo_UPD:
    3468             :     case ARM::VST3d8Pseudo:
    3469             :     case ARM::VST3d8Pseudo_UPD:
    3470             :     case ARM::VST3q16Pseudo_UPD:
    3471             :     case ARM::VST3q16oddPseudo:
    3472             :     case ARM::VST3q16oddPseudo_UPD:
    3473             :     case ARM::VST3q32Pseudo_UPD:
    3474             :     case ARM::VST3q32oddPseudo:
    3475             :     case ARM::VST3q32oddPseudo_UPD:
    3476             :     case ARM::VST3q8Pseudo_UPD:
    3477             :     case ARM::VST3q8oddPseudo:
    3478             :     case ARM::VST3q8oddPseudo_UPD:
    3479             :     case ARM::VST4LNd16Pseudo:
    3480             :     case ARM::VST4LNd16Pseudo_UPD:
    3481             :     case ARM::VST4LNd32Pseudo:
    3482             :     case ARM::VST4LNd32Pseudo_UPD:
    3483             :     case ARM::VST4LNd8Pseudo:
    3484             :     case ARM::VST4LNd8Pseudo_UPD:
    3485             :     case ARM::VST4LNq16Pseudo:
    3486             :     case ARM::VST4LNq16Pseudo_UPD:
    3487             :     case ARM::VST4LNq32Pseudo:
    3488             :     case ARM::VST4LNq32Pseudo_UPD:
    3489             :     case ARM::VST4d16Pseudo:
    3490             :     case ARM::VST4d16Pseudo_UPD:
    3491             :     case ARM::VST4d32Pseudo:
    3492             :     case ARM::VST4d32Pseudo_UPD:
    3493             :     case ARM::VST4d8Pseudo:
    3494             :     case ARM::VST4d8Pseudo_UPD:
    3495             :     case ARM::VST4q16Pseudo_UPD:
    3496             :     case ARM::VST4q16oddPseudo:
    3497             :     case ARM::VST4q16oddPseudo_UPD:
    3498             :     case ARM::VST4q32Pseudo_UPD:
    3499             :     case ARM::VST4q32oddPseudo:
    3500             :     case ARM::VST4q32oddPseudo_UPD:
    3501             :     case ARM::VST4q8Pseudo_UPD:
    3502             :     case ARM::VST4q8oddPseudo:
    3503             :     case ARM::VST4q8oddPseudo_UPD:
    3504             :     case ARM::VSTMQIA:
    3505             :     case ARM::VTBL3Pseudo:
    3506             :     case ARM::VTBL4Pseudo:
    3507             :     case ARM::VTBX3Pseudo:
    3508             :     case ARM::VTBX4Pseudo:
    3509             :     case ARM::t2CLREX:
    3510             :     case ARM::t2DCPS1:
    3511             :     case ARM::t2DCPS2:
    3512             :     case ARM::t2DCPS3:
    3513             :     case ARM::t2Int_eh_sjlj_setjmp:
    3514             :     case ARM::t2Int_eh_sjlj_setjmp_nofp:
    3515             :     case ARM::t2SB:
    3516             :     case ARM::t2SG:
    3517             :     case ARM::t2TSB:
    3518             :     case ARM::tInt_WIN_eh_sjlj_longjmp:
    3519             :     case ARM::tInt_eh_sjlj_longjmp:
    3520             :     case ARM::tInt_eh_sjlj_setjmp:
    3521             :     case ARM::tTRAP:
    3522             :     case ARM::t__brkdiv0: {
    3523             :       break;
    3524             :     }
    3525             :     case ARM::VRINTAD:
    3526             :     case ARM::VRINTMD:
    3527             :     case ARM::VRINTND:
    3528             :     case ARM::VRINTPD: {
    3529             :       // op: Dd
    3530          16 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3531          16 :       Value |= (op & UINT64_C(16)) << 18;
    3532          16 :       Value |= (op & UINT64_C(15)) << 12;
    3533             :       // op: Dm
    3534          16 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3535          16 :       Value |= (op & UINT64_C(16)) << 1;
    3536          16 :       Value |= op & UINT64_C(15);
    3537          16 :       break;
    3538             :     }
    3539             :     case ARM::VMAXNMD:
    3540             :     case ARM::VMINNMD:
    3541             :     case ARM::VSELEQD:
    3542             :     case ARM::VSELGED:
    3543             :     case ARM::VSELGTD:
    3544             :     case ARM::VSELVSD: {
    3545             :       // op: Dd
    3546          24 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3547          24 :       Value |= (op & UINT64_C(16)) << 18;
    3548          24 :       Value |= (op & UINT64_C(15)) << 12;
    3549             :       // op: Dn
    3550          24 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3551          24 :       Value |= (op & UINT64_C(15)) << 16;
    3552          24 :       Value |= (op & UINT64_C(16)) << 3;
    3553             :       // op: Dm
    3554          24 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3555          24 :       Value |= (op & UINT64_C(16)) << 1;
    3556          24 :       Value |= op & UINT64_C(15);
    3557          24 :       break;
    3558             :     }
    3559             :     case ARM::CRC32B:
    3560             :     case ARM::CRC32CB:
    3561             :     case ARM::CRC32CH:
    3562             :     case ARM::CRC32CW:
    3563             :     case ARM::CRC32H:
    3564             :     case ARM::CRC32W: {
    3565             :       // op: Rd
    3566           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3567           6 :       Value |= (op & UINT64_C(15)) << 12;
    3568             :       // op: Rn
    3569           6 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3570           6 :       Value |= (op & UINT64_C(15)) << 16;
    3571             :       // op: Rm
    3572           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3573           6 :       Value |= op & UINT64_C(15);
    3574           6 :       break;
    3575             :     }
    3576             :     case ARM::t2MRS_AR:
    3577             :     case ARM::t2MRSsys_AR: {
    3578             :       // op: Rd
    3579           7 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3580           7 :       Value |= (op & UINT64_C(15)) << 8;
    3581           7 :       break;
    3582             :     }
    3583             :     case ARM::t2CLZ:
    3584             :     case ARM::t2RBIT:
    3585             :     case ARM::t2REV:
    3586             :     case ARM::t2REV16:
    3587             :     case ARM::t2REVSH: {
    3588             :       // op: Rd
    3589          31 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3590          31 :       Value |= (op & UINT64_C(15)) << 8;
    3591             :       // op: Rm
    3592          31 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3593          31 :       Value |= (op & UINT64_C(15)) << 16;
    3594          31 :       Value |= op & UINT64_C(15);
    3595          31 :       break;
    3596             :     }
    3597             :     case ARM::t2MOVsra_flag:
    3598             :     case ARM::t2MOVsrl_flag: {
    3599             :       // op: Rd
    3600           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3601           0 :       Value |= (op & UINT64_C(15)) << 8;
    3602             :       // op: Rm
    3603           0 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3604           0 :       Value |= op & UINT64_C(15);
    3605           0 :       break;
    3606             :     }
    3607             :     case ARM::t2SXTB:
    3608             :     case ARM::t2SXTB16:
    3609             :     case ARM::t2SXTH:
    3610             :     case ARM::t2UXTB:
    3611             :     case ARM::t2UXTB16:
    3612             :     case ARM::t2UXTH: {
    3613             :       // op: Rd
    3614          88 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3615          88 :       Value |= (op & UINT64_C(15)) << 8;
    3616             :       // op: Rm
    3617          88 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3618          88 :       Value |= op & UINT64_C(15);
    3619             :       // op: rot
    3620          88 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3621          88 :       Value |= (op & UINT64_C(3)) << 4;
    3622          88 :       break;
    3623             :     }
    3624             :     case ARM::t2CRC32B:
    3625             :     case ARM::t2CRC32CB:
    3626             :     case ARM::t2CRC32CH:
    3627             :     case ARM::t2CRC32CW:
    3628             :     case ARM::t2CRC32H:
    3629             :     case ARM::t2CRC32W:
    3630             :     case ARM::t2MUL:
    3631             :     case ARM::t2QADD16:
    3632             :     case ARM::t2QADD8:
    3633             :     case ARM::t2QASX:
    3634             :     case ARM::t2QSAX:
    3635             :     case ARM::t2QSUB16:
    3636             :     case ARM::t2QSUB8:
    3637             :     case ARM::t2SADD16:
    3638             :     case ARM::t2SADD8:
    3639             :     case ARM::t2SASX:
    3640             :     case ARM::t2SDIV:
    3641             :     case ARM::t2SEL:
    3642             :     case ARM::t2SHADD16:
    3643             :     case ARM::t2SHADD8:
    3644             :     case ARM::t2SHASX:
    3645             :     case ARM::t2SHSAX:
    3646             :     case ARM::t2SHSUB16:
    3647             :     case ARM::t2SHSUB8:
    3648             :     case ARM::t2SMMUL:
    3649             :     case ARM::t2SMMULR:
    3650             :     case ARM::t2SMUAD:
    3651             :     case ARM::t2SMUADX:
    3652             :     case ARM::t2SMULBB:
    3653             :     case ARM::t2SMULBT:
    3654             :     case ARM::t2SMULTB:
    3655             :     case ARM::t2SMULTT:
    3656             :     case ARM::t2SMULWB:
    3657             :     case ARM::t2SMULWT:
    3658             :     case ARM::t2SMUSD:
    3659             :     case ARM::t2SMUSDX:
    3660             :     case ARM::t2SSAX:
    3661             :     case ARM::t2SSUB16:
    3662             :     case ARM::t2SSUB8:
    3663             :     case ARM::t2UADD16:
    3664             :     case ARM::t2UADD8:
    3665             :     case ARM::t2UASX:
    3666             :     case ARM::t2UDIV:
    3667             :     case ARM::t2UHADD16:
    3668             :     case ARM::t2UHADD8:
    3669             :     case ARM::t2UHASX:
    3670             :     case ARM::t2UHSAX:
    3671             :     case ARM::t2UHSUB16:
    3672             :     case ARM::t2UHSUB8:
    3673             :     case ARM::t2UQADD16:
    3674             :     case ARM::t2UQADD8:
    3675             :     case ARM::t2UQASX:
    3676             :     case ARM::t2UQSAX:
    3677             :     case ARM::t2UQSUB16:
    3678             :     case ARM::t2UQSUB8:
    3679             :     case ARM::t2USAD8:
    3680             :     case ARM::t2USAX:
    3681             :     case ARM::t2USUB16:
    3682             :     case ARM::t2USUB8: {
    3683             :       // op: Rd
    3684         276 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3685         276 :       Value |= (op & UINT64_C(15)) << 8;
    3686             :       // op: Rn
    3687         276 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3688         276 :       Value |= (op & UINT64_C(15)) << 16;
    3689             :       // op: Rm
    3690         276 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3691         276 :       Value |= op & UINT64_C(15);
    3692         276 :       break;
    3693             :     }
    3694             :     case ARM::t2MLA:
    3695             :     case ARM::t2MLS:
    3696             :     case ARM::t2SMLABB:
    3697             :     case ARM::t2SMLABT:
    3698             :     case ARM::t2SMLAD:
    3699             :     case ARM::t2SMLADX:
    3700             :     case ARM::t2SMLATB:
    3701             :     case ARM::t2SMLATT:
    3702             :     case ARM::t2SMLAWB:
    3703             :     case ARM::t2SMLAWT:
    3704             :     case ARM::t2SMLSD:
    3705             :     case ARM::t2SMLSDX:
    3706             :     case ARM::t2SMMLA:
    3707             :     case ARM::t2SMMLAR:
    3708             :     case ARM::t2SMMLS:
    3709             :     case ARM::t2SMMLSR:
    3710             :     case ARM::t2USADA8: {
    3711             :       // op: Rd
    3712          78 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3713          78 :       Value |= (op & UINT64_C(15)) << 8;
    3714             :       // op: Rn
    3715          78 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3716          78 :       Value |= (op & UINT64_C(15)) << 16;
    3717             :       // op: Rm
    3718          78 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3719          78 :       Value |= op & UINT64_C(15);
    3720             :       // op: Ra
    3721          78 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    3722          78 :       Value |= (op & UINT64_C(15)) << 12;
    3723          78 :       break;
    3724             :     }
    3725             :     case ARM::t2SXTAB:
    3726             :     case ARM::t2SXTAB16:
    3727             :     case ARM::t2SXTAH:
    3728             :     case ARM::t2UXTAB:
    3729             :     case ARM::t2UXTAB16:
    3730             :     case ARM::t2UXTAH: {
    3731             :       // op: Rd
    3732          67 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3733          67 :       Value |= (op & UINT64_C(15)) << 8;
    3734             :       // op: Rn
    3735          67 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3736          67 :       Value |= (op & UINT64_C(15)) << 16;
    3737             :       // op: Rm
    3738          67 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3739          67 :       Value |= op & UINT64_C(15);
    3740             :       // op: rot
    3741          67 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    3742          67 :       Value |= (op & UINT64_C(3)) << 4;
    3743          67 :       break;
    3744             :     }
    3745             :     case ARM::t2PKHBT:
    3746             :     case ARM::t2PKHTB: {
    3747             :       // op: Rd
    3748          18 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3749          18 :       Value |= (op & UINT64_C(15)) << 8;
    3750             :       // op: Rn
    3751          18 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3752          18 :       Value |= (op & UINT64_C(15)) << 16;
    3753             :       // op: Rm
    3754          18 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3755          18 :       Value |= op & UINT64_C(15);
    3756             :       // op: sh
    3757          18 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    3758          18 :       Value |= (op & UINT64_C(28)) << 10;
    3759          18 :       Value |= (op & UINT64_C(3)) << 6;
    3760          18 :       break;
    3761             :     }
    3762             :     case ARM::t2ADDri12:
    3763             :     case ARM::t2SUBri12: {
    3764             :       // op: Rd
    3765         383 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3766         383 :       Value |= (op & UINT64_C(15)) << 8;
    3767             :       // op: Rn
    3768         383 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3769         383 :       Value |= (op & UINT64_C(15)) << 16;
    3770             :       // op: imm
    3771         383 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3772         383 :       Value |= (op & UINT64_C(2048)) << 15;
    3773         383 :       Value |= (op & UINT64_C(1792)) << 4;
    3774         383 :       Value |= op & UINT64_C(255);
    3775         383 :       break;
    3776             :     }
    3777             :     case ARM::t2QADD:
    3778             :     case ARM::t2QDADD:
    3779             :     case ARM::t2QDSUB:
    3780             :     case ARM::t2QSUB: {
    3781             :       // op: Rd
    3782          16 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3783          16 :       Value |= (op & UINT64_C(15)) << 8;
    3784             :       // op: Rn
    3785          16 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3786          16 :       Value |= (op & UINT64_C(15)) << 16;
    3787             :       // op: Rm
    3788          16 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3789          16 :       Value |= op & UINT64_C(15);
    3790          16 :       break;
    3791             :     }
    3792             :     case ARM::t2BFI: {
    3793             :       // op: Rd
    3794          18 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3795          18 :       Value |= (op & UINT64_C(15)) << 8;
    3796             :       // op: Rn
    3797          18 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3798          18 :       Value |= (op & UINT64_C(15)) << 16;
    3799             :       // op: imm
    3800          18 :       op = getBitfieldInvertedMaskOpValue(MI, 3, Fixups, STI);
    3801          18 :       Value |= (op & UINT64_C(28)) << 10;
    3802          18 :       Value |= (op & UINT64_C(3)) << 6;
    3803          18 :       Value |= (op & UINT64_C(992)) >> 5;
    3804          18 :       break;
    3805             :     }
    3806             :     case ARM::t2SSAT16:
    3807             :     case ARM::t2USAT16: {
    3808             :       // op: Rd
    3809           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3810           8 :       Value |= (op & UINT64_C(15)) << 8;
    3811             :       // op: Rn
    3812           8 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3813           8 :       Value |= (op & UINT64_C(15)) << 16;
    3814             :       // op: sat_imm
    3815           8 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3816           8 :       Value |= op & UINT64_C(15);
    3817           8 :       break;
    3818             :     }
    3819             :     case ARM::t2SSAT:
    3820             :     case ARM::t2USAT: {
    3821             :       // op: Rd
    3822          72 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3823          72 :       Value |= (op & UINT64_C(15)) << 8;
    3824             :       // op: Rn
    3825          72 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3826          72 :       Value |= (op & UINT64_C(15)) << 16;
    3827             :       // op: sat_imm
    3828          72 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3829          72 :       Value |= op & UINT64_C(31);
    3830             :       // op: sh
    3831          72 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    3832          72 :       Value |= (op & UINT64_C(32)) << 16;
    3833          72 :       Value |= (op & UINT64_C(28)) << 10;
    3834          72 :       Value |= (op & UINT64_C(3)) << 6;
    3835          72 :       break;
    3836             :     }
    3837             :     case ARM::t2STREX: {
    3838             :       // op: Rd
    3839          25 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3840          25 :       Value |= (op & UINT64_C(15)) << 8;
    3841             :       // op: Rt
    3842          25 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3843          25 :       Value |= (op & UINT64_C(15)) << 12;
    3844             :       // op: addr
    3845          25 :       op = getT2AddrModeImm0_1020s4OpValue(MI, 2, Fixups, STI);
    3846          25 :       Value |= (op & UINT64_C(3840)) << 8;
    3847          25 :       Value |= op & UINT64_C(255);
    3848          25 :       break;
    3849             :     }
    3850             :     case ARM::t2MRS_M: {
    3851             :       // op: Rd
    3852          63 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3853          63 :       Value |= (op & UINT64_C(15)) << 8;
    3854             :       // op: SYSm
    3855          63 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3856          63 :       Value |= op & UINT64_C(255);
    3857          63 :       break;
    3858             :     }
    3859             :     case ARM::t2ADR: {
    3860             :       // op: Rd
    3861          12 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3862          12 :       Value |= (op & UINT64_C(15)) << 8;
    3863             :       // op: addr
    3864          12 :       op = getT2AdrLabelOpValue(MI, 1, Fixups, STI);
    3865          12 :       Value |= (op & UINT64_C(2048)) << 15;
    3866          12 :       Value |= (op & UINT64_C(4096)) << 11;
    3867          12 :       Value |= (op & UINT64_C(4096)) << 9;
    3868          12 :       Value |= (op & UINT64_C(1792)) << 4;
    3869          12 :       Value |= op & UINT64_C(255);
    3870          12 :       break;
    3871             :     }
    3872             :     case ARM::t2BFC: {
    3873             :       // op: Rd
    3874          20 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3875          20 :       Value |= (op & UINT64_C(15)) << 8;
    3876             :       // op: imm
    3877          20 :       op = getBitfieldInvertedMaskOpValue(MI, 2, Fixups, STI);
    3878          20 :       Value |= (op & UINT64_C(28)) << 10;
    3879          20 :       Value |= (op & UINT64_C(3)) << 6;
    3880          20 :       Value |= (op & UINT64_C(992)) >> 5;
    3881          20 :       break;
    3882             :     }
    3883             :     case ARM::t2MOVi16: {
    3884             :       // op: Rd
    3885         330 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3886         330 :       Value |= (op & UINT64_C(15)) << 8;
    3887             :       // op: imm
    3888         330 :       op = getHiLo16ImmOpValue(MI, 1, Fixups, STI);
    3889         330 :       Value |= (op & UINT64_C(2048)) << 15;
    3890         330 :       Value |= (op & UINT64_C(61440)) << 4;
    3891         330 :       Value |= (op & UINT64_C(1792)) << 4;
    3892         330 :       Value |= op & UINT64_C(255);
    3893         330 :       break;
    3894             :     }
    3895             :     case ARM::t2MOVTi16: {
    3896             :       // op: Rd
    3897         259 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3898         259 :       Value |= (op & UINT64_C(15)) << 8;
    3899             :       // op: imm
    3900         259 :       op = getHiLo16ImmOpValue(MI, 2, Fixups, STI);
    3901         259 :       Value |= (op & UINT64_C(2048)) << 15;
    3902         259 :       Value |= (op & UINT64_C(61440)) << 4;
    3903         259 :       Value |= (op & UINT64_C(1792)) << 4;
    3904         259 :       Value |= op & UINT64_C(255);
    3905         259 :       break;
    3906             :     }
    3907             :     case ARM::t2SBFX:
    3908             :     case ARM::t2UBFX: {
    3909             :       // op: Rd
    3910          64 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3911          64 :       Value |= (op & UINT64_C(15)) << 8;
    3912             :       // op: msb
    3913          64 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    3914          64 :       Value |= op & UINT64_C(31);
    3915             :       // op: lsb
    3916          64 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3917          64 :       Value |= (op & UINT64_C(28)) << 10;
    3918          64 :       Value |= (op & UINT64_C(3)) << 6;
    3919             :       // op: Rn
    3920          64 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3921          64 :       Value |= (op & UINT64_C(15)) << 16;
    3922          64 :       break;
    3923             :     }
    3924             :     case ARM::tADR: {
    3925             :       // op: Rd
    3926          26 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3927          26 :       Value |= (op & UINT64_C(7)) << 8;
    3928             :       // op: addr
    3929             :       op = getThumbAdrLabelOpValue(MI, 1, Fixups, STI);
    3930          26 :       Value |= op & UINT64_C(255);
    3931          26 :       break;
    3932             :     }
    3933             :     case ARM::tMOVi8: {
    3934             :       // op: Rd
    3935         315 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3936         315 :       Value |= (op & UINT64_C(7)) << 8;
    3937             :       // op: imm8
    3938         315 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3939         315 :       Value |= op & UINT64_C(255);
    3940         315 :       break;
    3941             :     }
    3942             :     case ARM::tMOVr: {
    3943             :       // op: Rd
    3944         959 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3945         959 :       Value |= (op & UINT64_C(8)) << 4;
    3946         959 :       Value |= op & UINT64_C(7);
    3947             :       // op: Rm
    3948         959 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3949         959 :       Value |= (op & UINT64_C(15)) << 3;
    3950         959 :       break;
    3951             :     }
    3952             :     case ARM::t2STLEX: {
    3953             :       // op: Rd
    3954           5 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3955           5 :       Value |= op & UINT64_C(15);
    3956             :       // op: Rt
    3957           5 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3958           5 :       Value |= (op & UINT64_C(15)) << 12;
    3959             :       // op: addr
    3960           5 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3961           5 :       Value |= (op & UINT64_C(15)) << 16;
    3962           5 :       break;
    3963             :     }
    3964             :     case ARM::t2STLEXB:
    3965             :     case ARM::t2STLEXH:
    3966             :     case ARM::t2STREXB:
    3967             :     case ARM::t2STREXH: {
    3968             :       // op: Rd
    3969          20 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3970          20 :       Value |= op & UINT64_C(15);
    3971             :       // op: addr
    3972          20 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3973          20 :       Value |= (op & UINT64_C(15)) << 16;
    3974             :       // op: Rt
    3975          20 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3976          20 :       Value |= (op & UINT64_C(15)) << 12;
    3977          20 :       break;
    3978             :     }
    3979             :     case ARM::t2STLEXD:
    3980             :     case ARM::t2STREXD: {
    3981             :       // op: Rd
    3982           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3983           8 :       Value |= op & UINT64_C(15);
    3984             :       // op: addr
    3985           8 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    3986           8 :       Value |= (op & UINT64_C(15)) << 16;
    3987             :       // op: Rt
    3988           8 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    3989           8 :       Value |= (op & UINT64_C(15)) << 12;
    3990             :       // op: Rt2
    3991           8 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    3992           8 :       Value |= (op & UINT64_C(15)) << 8;
    3993           8 :       break;
    3994             :     }
    3995             :     case ARM::tMOVSr: {
    3996             :       // op: Rd
    3997          19 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    3998          19 :       Value |= op & UINT64_C(7);
    3999             :       // op: Rm
    4000          19 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4001          19 :       Value |= (op & UINT64_C(7)) << 3;
    4002          19 :       break;
    4003             :     }
    4004             :     case ARM::tADDi3:
    4005             :     case ARM::tSUBi3: {
    4006             :       // op: Rd
    4007          69 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4008          69 :       Value |= op & UINT64_C(7);
    4009             :       // op: Rm
    4010          69 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4011          69 :       Value |= (op & UINT64_C(7)) << 3;
    4012             :       // op: imm3
    4013          69 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4014          69 :       Value |= (op & UINT64_C(7)) << 6;
    4015          69 :       break;
    4016             :     }
    4017             :     case ARM::tASRri:
    4018             :     case ARM::tLSLri:
    4019             :     case ARM::tLSRri: {
    4020             :       // op: Rd
    4021         136 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4022         136 :       Value |= op & UINT64_C(7);
    4023             :       // op: Rm
    4024         136 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4025         136 :       Value |= (op & UINT64_C(7)) << 3;
    4026             :       // op: imm5
    4027         136 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4028         136 :       Value |= (op & UINT64_C(31)) << 6;
    4029         136 :       break;
    4030             :     }
    4031             :     case ARM::tMUL:
    4032             :     case ARM::tMVN:
    4033             :     case ARM::tRSB: {
    4034             :       // op: Rd
    4035          44 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4036          44 :       Value |= op & UINT64_C(7);
    4037             :       // op: Rn
    4038          44 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4039          44 :       Value |= (op & UINT64_C(7)) << 3;
    4040          44 :       break;
    4041             :     }
    4042             :     case ARM::t2SMLALD:
    4043             :     case ARM::t2SMLALDX:
    4044             :     case ARM::t2SMLSLD:
    4045             :     case ARM::t2SMLSLDX: {
    4046             :       // op: Rd
    4047          16 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4048          16 :       Value |= (op & UINT64_C(15)) << 8;
    4049             :       // op: Rn
    4050          16 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4051          16 :       Value |= (op & UINT64_C(15)) << 16;
    4052             :       // op: Rm
    4053          16 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4054          16 :       Value |= op & UINT64_C(15);
    4055             :       // op: Ra
    4056          16 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4057          16 :       Value |= (op & UINT64_C(15)) << 12;
    4058          16 :       break;
    4059             :     }
    4060             :     case ARM::t2SMLAL:
    4061             :     case ARM::t2SMLALBB:
    4062             :     case ARM::t2SMLALBT:
    4063             :     case ARM::t2SMLALTB:
    4064             :     case ARM::t2SMLALTT:
    4065             :     case ARM::t2SMULL:
    4066             :     case ARM::t2UMAAL:
    4067             :     case ARM::t2UMLAL:
    4068             :     case ARM::t2UMULL: {
    4069             :       // op: RdLo
    4070          95 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4071          95 :       Value |= (op & UINT64_C(15)) << 12;
    4072             :       // op: RdHi
    4073          95 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4074          95 :       Value |= (op & UINT64_C(15)) << 8;
    4075             :       // op: Rn
    4076          95 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4077          95 :       Value |= (op & UINT64_C(15)) << 16;
    4078             :       // op: Rm
    4079          95 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4080          95 :       Value |= op & UINT64_C(15);
    4081          95 :       break;
    4082             :     }
    4083             :     case ARM::tADDi8:
    4084             :     case ARM::tSUBi8: {
    4085             :       // op: Rdn
    4086        1986 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4087        1986 :       Value |= (op & UINT64_C(7)) << 8;
    4088             :       // op: imm8
    4089        1986 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4090        1986 :       Value |= op & UINT64_C(255);
    4091        1986 :       break;
    4092             :     }
    4093             :     case ARM::tADDrSP: {
    4094             :       // op: Rdn
    4095          11 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4096          11 :       Value |= (op & UINT64_C(8)) << 4;
    4097          11 :       Value |= op & UINT64_C(7);
    4098          11 :       break;
    4099             :     }
    4100             :     case ARM::tADDhirr: {
    4101             :       // op: Rdn
    4102         151 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4103         151 :       Value |= (op & UINT64_C(8)) << 4;
    4104         151 :       Value |= op & UINT64_C(7);
    4105             :       // op: Rm
    4106         151 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4107         151 :       Value |= (op & UINT64_C(15)) << 3;
    4108         151 :       break;
    4109             :     }
    4110             :     case ARM::tADC:
    4111             :     case ARM::tAND:
    4112             :     case ARM::tASRrr:
    4113             :     case ARM::tBIC:
    4114             :     case ARM::tEOR:
    4115             :     case ARM::tLSLrr:
    4116             :     case ARM::tLSRrr:
    4117             :     case ARM::tORR:
    4118             :     case ARM::tROR:
    4119             :     case ARM::tSBC: {
    4120             :       // op: Rdn
    4121         168 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4122         168 :       Value |= op & UINT64_C(7);
    4123             :       // op: Rm
    4124         168 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4125         168 :       Value |= (op & UINT64_C(7)) << 3;
    4126         168 :       break;
    4127             :     }
    4128             :     case ARM::tBX:
    4129             :     case ARM::tBXNS: {
    4130             :       // op: Rm
    4131         490 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4132         490 :       Value |= (op & UINT64_C(15)) << 3;
    4133         490 :       break;
    4134             :     }
    4135             :     case ARM::tCMPhir: {
    4136             :       // op: Rm
    4137           7 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4138           7 :       Value |= (op & UINT64_C(15)) << 3;
    4139             :       // op: Rn
    4140           7 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4141           7 :       Value |= (op & UINT64_C(8)) << 4;
    4142           7 :       Value |= op & UINT64_C(7);
    4143           7 :       break;
    4144             :     }
    4145             :     case ARM::tREV:
    4146             :     case ARM::tREV16:
    4147             :     case ARM::tREVSH:
    4148             :     case ARM::tSXTB:
    4149             :     case ARM::tSXTH:
    4150             :     case ARM::tUXTB:
    4151             :     case ARM::tUXTH: {
    4152             :       // op: Rm
    4153          68 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4154          68 :       Value |= (op & UINT64_C(7)) << 3;
    4155             :       // op: Rd
    4156          68 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4157          68 :       Value |= op & UINT64_C(7);
    4158          68 :       break;
    4159             :     }
    4160             :     case ARM::tCMNz:
    4161             :     case ARM::tCMPr:
    4162             :     case ARM::tTST: {
    4163             :       // op: Rm
    4164          43 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4165          43 :       Value |= (op & UINT64_C(7)) << 3;
    4166             :       // op: Rn
    4167          43 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4168          43 :       Value |= op & UINT64_C(7);
    4169          43 :       break;
    4170             :     }
    4171             :     case ARM::tADDspr: {
    4172             :       // op: Rm
    4173          11 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4174          11 :       Value |= (op & UINT64_C(15)) << 3;
    4175          11 :       break;
    4176             :     }
    4177             :     case ARM::tADDrr:
    4178             :     case ARM::tSUBrr: {
    4179             :       // op: Rm
    4180          66 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4181          66 :       Value |= (op & UINT64_C(7)) << 6;
    4182             :       // op: Rn
    4183          66 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4184          66 :       Value |= (op & UINT64_C(7)) << 3;
    4185             :       // op: Rd
    4186          66 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4187          66 :       Value |= op & UINT64_C(7);
    4188          66 :       break;
    4189             :     }
    4190             :     case ARM::RFEDA:
    4191             :     case ARM::RFEDA_UPD:
    4192             :     case ARM::RFEDB:
    4193             :     case ARM::RFEDB_UPD:
    4194             :     case ARM::RFEIA:
    4195             :     case ARM::RFEIA_UPD:
    4196             :     case ARM::RFEIB:
    4197             :     case ARM::RFEIB_UPD:
    4198             :     case ARM::t2RFEDB:
    4199             :     case ARM::t2RFEDBW:
    4200             :     case ARM::t2RFEIA:
    4201             :     case ARM::t2RFEIAW: {
    4202             :       // op: Rn
    4203          40 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4204          40 :       Value |= (op & UINT64_C(15)) << 16;
    4205          40 :       break;
    4206             :     }
    4207             :     case ARM::t2CMNzrr:
    4208             :     case ARM::t2CMPrr:
    4209             :     case ARM::t2TBB:
    4210             :     case ARM::t2TBH:
    4211             :     case ARM::t2TEQrr:
    4212             :     case ARM::t2TSTrr: {
    4213             :       // op: Rn
    4214          21 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4215          21 :       Value |= (op & UINT64_C(15)) << 16;
    4216             :       // op: Rm
    4217          21 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4218          21 :       Value |= op & UINT64_C(15);
    4219          21 :       break;
    4220             :     }
    4221             :     case ARM::t2CMNzrs:
    4222             :     case ARM::t2CMPrs:
    4223             :     case ARM::t2TEQrs:
    4224             :     case ARM::t2TSTrs: {
    4225             :       // op: Rn
    4226          41 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4227          41 :       Value |= (op & UINT64_C(15)) << 16;
    4228             :       // op: ShiftedRm
    4229          41 :       op = getT2SORegOpValue(MI, 1, Fixups, STI);
    4230          41 :       Value |= (op & UINT64_C(3584)) << 3;
    4231          41 :       Value |= (op & UINT64_C(480)) >> 1;
    4232          41 :       Value |= op & UINT64_C(15);
    4233          41 :       break;
    4234             :     }
    4235             :     case ARM::t2CMNri:
    4236             :     case ARM::t2CMPri:
    4237             :     case ARM::t2TEQri:
    4238             :     case ARM::t2TSTri: {
    4239             :       // op: Rn
    4240          18 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4241          18 :       Value |= (op & UINT64_C(15)) << 16;
    4242             :       // op: imm
    4243          18 :       op = getT2SOImmOpValue(MI, 1, Fixups, STI);
    4244          18 :       Value |= (op & UINT64_C(2048)) << 15;
    4245          18 :       Value |= (op & UINT64_C(1792)) << 4;
    4246          18 :       Value |= op & UINT64_C(255);
    4247          18 :       break;
    4248             :     }
    4249             :     case ARM::t2STMDB:
    4250             :     case ARM::t2STMIA: {
    4251             :       // op: Rn
    4252          27 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4253          27 :       Value |= (op & UINT64_C(15)) << 16;
    4254             :       // op: regs
    4255          27 :       op = getRegisterListOpValue(MI, 3, Fixups, STI);
    4256          27 :       Value |= op & UINT64_C(16384);
    4257          27 :       Value |= op & UINT64_C(8191);
    4258          27 :       break;
    4259             :     }
    4260             :     case ARM::t2LDMDB:
    4261             :     case ARM::t2LDMIA: {
    4262             :       // op: Rn
    4263          30 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4264          30 :       Value |= (op & UINT64_C(15)) << 16;
    4265             :       // op: regs
    4266          30 :       op = getRegisterListOpValue(MI, 3, Fixups, STI);
    4267          30 :       Value |= op & UINT64_C(65535);
    4268          30 :       break;
    4269             :     }
    4270             :     case ARM::tCMPi8: {
    4271             :       // op: Rn
    4272          46 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4273          46 :       Value |= (op & UINT64_C(7)) << 8;
    4274             :       // op: imm8
    4275          46 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4276          46 :       Value |= op & UINT64_C(255);
    4277          46 :       break;
    4278             :     }
    4279             :     case ARM::tLDMIA: {
    4280             :       // op: Rn
    4281         141 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4282         141 :       Value |= (op & UINT64_C(7)) << 8;
    4283             :       // op: regs
    4284         141 :       op = getRegisterListOpValue(MI, 3, Fixups, STI);
    4285         141 :       Value |= op & UINT64_C(255);
    4286         141 :       break;
    4287             :     }
    4288             :     case ARM::t2TT:
    4289             :     case ARM::t2TTA:
    4290             :     case ARM::t2TTAT:
    4291             :     case ARM::t2TTT: {
    4292             :       // op: Rn
    4293          15 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4294          15 :       Value |= (op & UINT64_C(15)) << 16;
    4295             :       // op: Rt
    4296          15 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4297          15 :       Value |= (op & UINT64_C(15)) << 8;
    4298          15 :       break;
    4299             :     }
    4300             :     case ARM::t2STMDB_UPD:
    4301             :     case ARM::t2STMIA_UPD: {
    4302             :       // op: Rn
    4303          29 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4304          29 :       Value |= (op & UINT64_C(15)) << 16;
    4305             :       // op: regs
    4306          29 :       op = getRegisterListOpValue(MI, 4, Fixups, STI);
    4307          29 :       Value |= op & UINT64_C(16384);
    4308          29 :       Value |= op & UINT64_C(8191);
    4309          29 :       break;
    4310             :     }
    4311             :     case ARM::t2LDMDB_UPD:
    4312             :     case ARM::t2LDMIA_UPD: {
    4313             :       // op: Rn
    4314          38 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4315          38 :       Value |= (op & UINT64_C(15)) << 16;
    4316             :       // op: regs
    4317          38 :       op = getRegisterListOpValue(MI, 4, Fixups, STI);
    4318          38 :       Value |= op & UINT64_C(65535);
    4319          38 :       break;
    4320             :     }
    4321             :     case ARM::tSTMIA_UPD: {
    4322             :       // op: Rn
    4323          10 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4324          10 :       Value |= (op & UINT64_C(7)) << 8;
    4325             :       // op: regs
    4326          10 :       op = getRegisterListOpValue(MI, 4, Fixups, STI);
    4327          10 :       Value |= op & UINT64_C(255);
    4328          10 :       break;
    4329             :     }
    4330             :     case ARM::t2LDRB_POST:
    4331             :     case ARM::t2LDRH_POST:
    4332             :     case ARM::t2LDRSB_POST:
    4333             :     case ARM::t2LDRSH_POST:
    4334             :     case ARM::t2LDR_POST: {
    4335             :       // op: Rt
    4336         488 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4337         488 :       Value |= (op & UINT64_C(15)) << 12;
    4338             :       // op: Rn
    4339         488 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4340         488 :       Value |= (op & UINT64_C(15)) << 16;
    4341             :       // op: offset
    4342         488 :       op = getT2AddrModeImm8OffsetOpValue(MI, 3, Fixups, STI);
    4343         488 :       Value |= (op & UINT64_C(256)) << 1;
    4344         488 :       Value |= op & UINT64_C(255);
    4345         488 :       break;
    4346             :     }
    4347             :     case ARM::MRRC2:
    4348             :     case ARM::t2MRRC:
    4349             :     case ARM::t2MRRC2: {
    4350             :       // op: Rt
    4351          31 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4352          31 :       Value |= (op & UINT64_C(15)) << 12;
    4353             :       // op: Rt2
    4354          31 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4355          31 :       Value |= (op & UINT64_C(15)) << 16;
    4356             :       // op: cop
    4357          31 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4358          31 :       Value |= (op & UINT64_C(15)) << 8;
    4359             :       // op: opc1
    4360          31 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4361          31 :       Value |= (op & UINT64_C(15)) << 4;
    4362             :       // op: CRm
    4363          31 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    4364          31 :       Value |= op & UINT64_C(15);
    4365          31 :       break;
    4366             :     }
    4367             :     case ARM::t2LDRD_POST: {
    4368             :       // op: Rt
    4369           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4370           8 :       Value |= (op & UINT64_C(15)) << 12;
    4371             :       // op: Rt2
    4372           8 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4373           8 :       Value |= (op & UINT64_C(15)) << 8;
    4374             :       // op: addr
    4375           8 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4376           8 :       Value |= (op & UINT64_C(15)) << 16;
    4377             :       // op: imm
    4378           8 :       op = getT2Imm8s4OpValue(MI, 4, Fixups, STI);
    4379           8 :       Value |= (op & UINT64_C(256)) << 15;
    4380           8 :       Value |= op & UINT64_C(255);
    4381           8 :       break;
    4382             :     }
    4383             :     case ARM::t2LDRDi8:
    4384             :     case ARM::t2STRDi8: {
    4385             :       // op: Rt
    4386          87 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4387          87 :       Value |= (op & UINT64_C(15)) << 12;
    4388             :       // op: Rt2
    4389          87 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4390          87 :       Value |= (op & UINT64_C(15)) << 8;
    4391             :       // op: addr
    4392          87 :       op = getT2AddrModeImm8s4OpValue(MI, 2, Fixups, STI);
    4393          87 :       Value |= (op & UINT64_C(256)) << 15;
    4394          87 :       Value |= (op & UINT64_C(7680)) << 7;
    4395          87 :       Value |= op & UINT64_C(255);
    4396          87 :       break;
    4397             :     }
    4398             :     case ARM::t2LDRD_PRE: {
    4399             :       // op: Rt
    4400           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4401           6 :       Value |= (op & UINT64_C(15)) << 12;
    4402             :       // op: Rt2
    4403           6 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4404           6 :       Value |= (op & UINT64_C(15)) << 8;
    4405             :       // op: addr
    4406           6 :       op = getT2AddrModeImm8s4OpValue(MI, 3, Fixups, STI);
    4407           6 :       Value |= (op & UINT64_C(256)) << 15;
    4408           6 :       Value |= (op & UINT64_C(7680)) << 7;
    4409           6 :       Value |= op & UINT64_C(255);
    4410           6 :       break;
    4411             :     }
    4412             :     case ARM::t2LDRBi12:
    4413             :     case ARM::t2LDRHi12:
    4414             :     case ARM::t2LDRSBi12:
    4415             :     case ARM::t2LDRSHi12:
    4416             :     case ARM::t2LDRi12:
    4417             :     case ARM::t2STRBi12:
    4418             :     case ARM::t2STRHi12:
    4419             :     case ARM::t2STRi12: {
    4420             :       // op: Rt
    4421        1260 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4422        1260 :       Value |= (op & UINT64_C(15)) << 12;
    4423             :       // op: addr
    4424        1260 :       op = getAddrModeImm12OpValue(MI, 1, Fixups, STI);
    4425        1260 :       Value |= (op & UINT64_C(122880)) << 3;
    4426        1260 :       Value |= op & UINT64_C(4095);
    4427        1260 :       break;
    4428             :     }
    4429             :     case ARM::t2LDRBpci:
    4430             :     case ARM::t2LDRHpci:
    4431             :     case ARM::t2LDRSBpci:
    4432             :     case ARM::t2LDRSHpci:
    4433             :     case ARM::t2LDRpci: {
    4434             :       // op: Rt
    4435          72 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4436          72 :       Value |= (op & UINT64_C(15)) << 12;
    4437             :       // op: addr
    4438          72 :       op = getAddrModeImm12OpValue(MI, 1, Fixups, STI);
    4439          72 :       Value |= (op & UINT64_C(4096)) << 11;
    4440          72 :       Value |= op & UINT64_C(4095);
    4441          72 :       break;
    4442             :     }
    4443             :     case ARM::t2LDA:
    4444             :     case ARM::t2LDAB:
    4445             :     case ARM::t2LDAEX:
    4446             :     case ARM::t2LDAH:
    4447             :     case ARM::t2STL:
    4448             :     case ARM::t2STLB:
    4449             :     case ARM::t2STLH: {
    4450             :       // op: Rt
    4451          35 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4452          35 :       Value |= (op & UINT64_C(15)) << 12;
    4453             :       // op: addr
    4454          35 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4455          35 :       Value |= (op & UINT64_C(15)) << 16;
    4456          35 :       break;
    4457             :     }
    4458             :     case ARM::t2LDREX: {
    4459             :       // op: Rt
    4460           9 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4461           9 :       Value |= (op & UINT64_C(15)) << 12;
    4462             :       // op: addr
    4463           9 :       op = getT2AddrModeImm0_1020s4OpValue(MI, 1, Fixups, STI);
    4464           9 :       Value |= (op & UINT64_C(3840)) << 8;
    4465           9 :       Value |= op & UINT64_C(255);
    4466           9 :       break;
    4467             :     }
    4468             :     case ARM::t2LDRBi8:
    4469             :     case ARM::t2LDRHi8:
    4470             :     case ARM::t2LDRSBi8:
    4471             :     case ARM::t2LDRSHi8:
    4472             :     case ARM::t2LDRi8:
    4473             :     case ARM::t2STRBi8:
    4474             :     case ARM::t2STRHi8:
    4475             :     case ARM::t2STRi8: {
    4476             :       // op: Rt
    4477          23 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4478          23 :       Value |= (op & UINT64_C(15)) << 12;
    4479             :       // op: addr
    4480          23 :       op = getT2AddrModeImm8OpValue(MI, 1, Fixups, STI);
    4481          23 :       Value |= (op & UINT64_C(7680)) << 7;
    4482          23 :       Value |= (op & UINT64_C(256)) << 1;
    4483          23 :       Value |= op & UINT64_C(255);
    4484          23 :       break;
    4485             :     }
    4486             :     case ARM::t2LDRBT:
    4487             :     case ARM::t2LDRHT:
    4488             :     case ARM::t2LDRSBT:
    4489             :     case ARM::t2LDRSHT:
    4490             :     case ARM::t2LDRT:
    4491             :     case ARM::t2STRBT:
    4492             :     case ARM::t2STRHT:
    4493             :     case ARM::t2STRT: {
    4494             :       // op: Rt
    4495          64 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4496          64 :       Value |= (op & UINT64_C(15)) << 12;
    4497             :       // op: addr
    4498          64 :       op = getT2AddrModeImm8OpValue(MI, 1, Fixups, STI);
    4499          64 :       Value |= (op & UINT64_C(7680)) << 7;
    4500          64 :       Value |= op & UINT64_C(255);
    4501          64 :       break;
    4502             :     }
    4503             :     case ARM::t2LDRB_PRE:
    4504             :     case ARM::t2LDRH_PRE:
    4505             :     case ARM::t2LDRSB_PRE:
    4506             :     case ARM::t2LDRSH_PRE:
    4507             :     case ARM::t2LDR_PRE: {
    4508             :       // op: Rt
    4509          30 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4510          30 :       Value |= (op & UINT64_C(15)) << 12;
    4511             :       // op: addr
    4512          30 :       op = getT2AddrModeImm8OpValue(MI, 2, Fixups, STI);
    4513          30 :       Value |= (op & UINT64_C(7680)) << 7;
    4514          30 :       Value |= (op & UINT64_C(256)) << 1;
    4515          30 :       Value |= op & UINT64_C(255);
    4516          30 :       break;
    4517             :     }
    4518             :     case ARM::t2LDRBs:
    4519             :     case ARM::t2LDRHs:
    4520             :     case ARM::t2LDRSBs:
    4521             :     case ARM::t2LDRSHs:
    4522             :     case ARM::t2LDRs:
    4523             :     case ARM::t2STRBs:
    4524             :     case ARM::t2STRHs:
    4525             :     case ARM::t2STRs: {
    4526             :       // op: Rt
    4527         228 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4528         228 :       Value |= (op & UINT64_C(15)) << 12;
    4529             :       // op: addr
    4530         228 :       op = getT2AddrModeSORegOpValue(MI, 1, Fixups, STI);
    4531         228 :       Value |= (op & UINT64_C(960)) << 10;
    4532         228 :       Value |= (op & UINT64_C(3)) << 4;
    4533         228 :       Value |= (op & UINT64_C(60)) >> 2;
    4534         228 :       break;
    4535             :     }
    4536             :     case ARM::MRC2:
    4537             :     case ARM::t2MRC:
    4538             :     case ARM::t2MRC2: {
    4539             :       // op: Rt
    4540          25 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4541          25 :       Value |= (op & UINT64_C(15)) << 12;
    4542             :       // op: cop
    4543          25 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4544          25 :       Value |= (op & UINT64_C(15)) << 8;
    4545             :       // op: opc1
    4546          25 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4547          25 :       Value |= (op & UINT64_C(7)) << 21;
    4548             :       // op: opc2
    4549          25 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
    4550          25 :       Value |= (op & UINT64_C(7)) << 5;
    4551             :       // op: CRm
    4552          25 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    4553          25 :       Value |= op & UINT64_C(15);
    4554             :       // op: CRn
    4555          25 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4556          25 :       Value |= (op & UINT64_C(15)) << 16;
    4557          25 :       break;
    4558             :     }
    4559             :     case ARM::tLDRpci: {
    4560             :       // op: Rt
    4561         121 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4562         121 :       Value |= (op & UINT64_C(7)) << 8;
    4563             :       // op: addr
    4564         121 :       op = getAddrModePCOpValue(MI, 1, Fixups, STI);
    4565         121 :       Value |= op & UINT64_C(255);
    4566         121 :       break;
    4567             :     }
    4568             :     case ARM::tLDRspi:
    4569             :     case ARM::tSTRspi: {
    4570             :       // op: Rt
    4571         924 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4572         924 :       Value |= (op & UINT64_C(7)) << 8;
    4573             :       // op: addr
    4574         924 :       op = getAddrModeThumbSPOpValue(MI, 1, Fixups, STI);
    4575         924 :       Value |= op & UINT64_C(255);
    4576         924 :       break;
    4577             :     }
    4578             :     case ARM::tLDRBi:
    4579             :     case ARM::tLDRHi:
    4580             :     case ARM::tLDRi:
    4581             :     case ARM::tSTRBi:
    4582             :     case ARM::tSTRHi:
    4583             :     case ARM::tSTRi: {
    4584             :       // op: Rt
    4585        2203 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4586        2203 :       Value |= op & UINT64_C(7);
    4587             :       // op: addr
    4588        2203 :       op = getAddrModeISOpValue(MI, 1, Fixups, STI);
    4589        2203 :       Value |= (op & UINT64_C(255)) << 3;
    4590        2203 :       break;
    4591             :     }
    4592             :     case ARM::tLDRBr:
    4593             :     case ARM::tLDRHr:
    4594             :     case ARM::tLDRSB:
    4595             :     case ARM::tLDRSH:
    4596             :     case ARM::tLDRr:
    4597             :     case ARM::tSTRBr:
    4598             :     case ARM::tSTRHr:
    4599             :     case ARM::tSTRr: {
    4600             :       // op: Rt
    4601          44 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4602          44 :       Value |= op & UINT64_C(7);
    4603             :       // op: addr
    4604          44 :       op = getThumbAddrModeRegRegOpValue(MI, 1, Fixups, STI);
    4605          44 :       Value |= (op & UINT64_C(63)) << 3;
    4606          44 :       break;
    4607             :     }
    4608             :     case ARM::t2STRB_POST:
    4609             :     case ARM::t2STRH_POST:
    4610             :     case ARM::t2STR_POST: {
    4611             :       // op: Rt
    4612         466 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4613         466 :       Value |= (op & UINT64_C(15)) << 12;
    4614             :       // op: Rn
    4615         466 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4616         466 :       Value |= (op & UINT64_C(15)) << 16;
    4617             :       // op: offset
    4618         466 :       op = getT2AddrModeImm8OffsetOpValue(MI, 3, Fixups, STI);
    4619         466 :       Value |= (op & UINT64_C(256)) << 1;
    4620         466 :       Value |= op & UINT64_C(255);
    4621         466 :       break;
    4622             :     }
    4623             :     case ARM::t2STRD_POST: {
    4624             :       // op: Rt
    4625          40 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4626          40 :       Value |= (op & UINT64_C(15)) << 12;
    4627             :       // op: Rt2
    4628          40 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4629          40 :       Value |= (op & UINT64_C(15)) << 8;
    4630             :       // op: addr
    4631          40 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4632          40 :       Value |= (op & UINT64_C(15)) << 16;
    4633             :       // op: imm
    4634          40 :       op = getT2Imm8s4OpValue(MI, 4, Fixups, STI);
    4635          40 :       Value |= (op & UINT64_C(256)) << 15;
    4636          40 :       Value |= op & UINT64_C(255);
    4637          40 :       break;
    4638             :     }
    4639             :     case ARM::t2STRD_PRE: {
    4640             :       // op: Rt
    4641          38 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4642          38 :       Value |= (op & UINT64_C(15)) << 12;
    4643             :       // op: Rt2
    4644          38 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4645          38 :       Value |= (op & UINT64_C(15)) << 8;
    4646             :       // op: addr
    4647          38 :       op = getT2AddrModeImm8s4OpValue(MI, 3, Fixups, STI);
    4648          38 :       Value |= (op & UINT64_C(256)) << 15;
    4649          38 :       Value |= (op & UINT64_C(7680)) << 7;
    4650          38 :       Value |= op & UINT64_C(255);
    4651          38 :       break;
    4652             :     }
    4653             :     case ARM::t2STRB_PRE:
    4654             :     case ARM::t2STRH_PRE:
    4655             :     case ARM::t2STR_PRE: {
    4656             :       // op: Rt
    4657          28 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4658          28 :       Value |= (op & UINT64_C(15)) << 12;
    4659             :       // op: addr
    4660          28 :       op = getT2AddrModeImm8OpValue(MI, 2, Fixups, STI);
    4661          28 :       Value |= (op & UINT64_C(7680)) << 7;
    4662          28 :       Value |= (op & UINT64_C(256)) << 1;
    4663          28 :       Value |= op & UINT64_C(255);
    4664          28 :       break;
    4665             :     }
    4666             :     case ARM::MCRR2:
    4667             :     case ARM::t2MCRR:
    4668             :     case ARM::t2MCRR2: {
    4669             :       // op: Rt
    4670          31 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4671          31 :       Value |= (op & UINT64_C(15)) << 12;
    4672             :       // op: Rt2
    4673          31 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4674          31 :       Value |= (op & UINT64_C(15)) << 16;
    4675             :       // op: cop
    4676          31 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4677          31 :       Value |= (op & UINT64_C(15)) << 8;
    4678             :       // op: opc1
    4679          31 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4680          31 :       Value |= (op & UINT64_C(15)) << 4;
    4681             :       // op: CRm
    4682          31 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    4683          31 :       Value |= op & UINT64_C(15);
    4684          31 :       break;
    4685             :     }
    4686             :     case ARM::MCR2:
    4687             :     case ARM::t2MCR:
    4688             :     case ARM::t2MCR2: {
    4689             :       // op: Rt
    4690          25 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4691          25 :       Value |= (op & UINT64_C(15)) << 12;
    4692             :       // op: cop
    4693          25 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4694          25 :       Value |= (op & UINT64_C(15)) << 8;
    4695             :       // op: opc1
    4696          25 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4697          25 :       Value |= (op & UINT64_C(7)) << 21;
    4698             :       // op: opc2
    4699          25 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
    4700          25 :       Value |= (op & UINT64_C(7)) << 5;
    4701             :       // op: CRm
    4702          25 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    4703          25 :       Value |= op & UINT64_C(15);
    4704             :       // op: CRn
    4705          25 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4706          25 :       Value |= (op & UINT64_C(15)) << 16;
    4707          25 :       break;
    4708             :     }
    4709             :     case ARM::t2MSR_M: {
    4710             :       // op: SYSm
    4711          90 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4712          90 :       Value |= op & UINT64_C(3072);
    4713          90 :       Value |= op & UINT64_C(255);
    4714             :       // op: Rn
    4715          90 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4716          90 :       Value |= (op & UINT64_C(15)) << 16;
    4717          90 :       break;
    4718             :     }
    4719             :     case ARM::VCVTASD:
    4720             :     case ARM::VCVTAUD:
    4721             :     case ARM::VCVTMSD:
    4722             :     case ARM::VCVTMUD:
    4723             :     case ARM::VCVTNSD:
    4724             :     case ARM::VCVTNUD:
    4725             :     case ARM::VCVTPSD:
    4726             :     case ARM::VCVTPUD: {
    4727             :       // op: Sd
    4728          32 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4729          32 :       Value |= (op & UINT64_C(1)) << 22;
    4730          32 :       Value |= (op & UINT64_C(30)) << 11;
    4731             :       // op: Dm
    4732          32 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4733          32 :       Value |= (op & UINT64_C(16)) << 1;
    4734          32 :       Value |= op & UINT64_C(15);
    4735          32 :       break;
    4736             :     }
    4737             :     case ARM::VCVTASH:
    4738             :     case ARM::VCVTASS:
    4739             :     case ARM::VCVTAUH:
    4740             :     case ARM::VCVTAUS:
    4741             :     case ARM::VCVTMSH:
    4742             :     case ARM::VCVTMSS:
    4743             :     case ARM::VCVTMUH:
    4744             :     case ARM::VCVTMUS:
    4745             :     case ARM::VCVTNSH:
    4746             :     case ARM::VCVTNSS:
    4747             :     case ARM::VCVTNUH:
    4748             :     case ARM::VCVTNUS:
    4749             :     case ARM::VCVTPSH:
    4750             :     case ARM::VCVTPSS:
    4751             :     case ARM::VCVTPUH:
    4752             :     case ARM::VCVTPUS:
    4753             :     case ARM::VINSH:
    4754             :     case ARM::VMOVH:
    4755             :     case ARM::VRINTAH:
    4756             :     case ARM::VRINTAS:
    4757             :     case ARM::VRINTMH:
    4758             :     case ARM::VRINTMS:
    4759             :     case ARM::VRINTNH:
    4760             :     case ARM::VRINTNS:
    4761             :     case ARM::VRINTPH:
    4762             :     case ARM::VRINTPS: {
    4763             :       // op: Sd
    4764         104 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4765         104 :       Value |= (op & UINT64_C(1)) << 22;
    4766         104 :       Value |= (op & UINT64_C(30)) << 11;
    4767             :       // op: Sm
    4768         104 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4769         104 :       Value |= (op & UINT64_C(1)) << 5;
    4770         104 :       Value |= (op & UINT64_C(30)) >> 1;
    4771         104 :       break;
    4772             :     }
    4773             :     case ARM::VMAXNMH:
    4774             :     case ARM::VMAXNMS:
    4775             :     case ARM::VMINNMH:
    4776             :     case ARM::VMINNMS:
    4777             :     case ARM::VSELEQH:
    4778             :     case ARM::VSELEQS:
    4779             :     case ARM::VSELGEH:
    4780             :     case ARM::VSELGES:
    4781             :     case ARM::VSELGTH:
    4782             :     case ARM::VSELGTS:
    4783             :     case ARM::VSELVSH:
    4784             :     case ARM::VSELVSS: {
    4785             :       // op: Sd
    4786          48 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4787          48 :       Value |= (op & UINT64_C(1)) << 22;
    4788          48 :       Value |= (op & UINT64_C(30)) << 11;
    4789             :       // op: Sn
    4790          48 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4791          48 :       Value |= (op & UINT64_C(30)) << 15;
    4792          48 :       Value |= (op & UINT64_C(1)) << 7;
    4793             :       // op: Sm
    4794          48 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4795          48 :       Value |= (op & UINT64_C(1)) << 5;
    4796          48 :       Value |= (op & UINT64_C(30)) >> 1;
    4797          48 :       break;
    4798             :     }
    4799             :     case ARM::VDUP16d:
    4800             :     case ARM::VDUP16q:
    4801             :     case ARM::VDUP32d:
    4802             :     case ARM::VDUP32q:
    4803             :     case ARM::VDUP8d:
    4804             :     case ARM::VDUP8q: {
    4805             :       // op: V
    4806          12 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4807          12 :       Value |= (op & UINT64_C(15)) << 16;
    4808          12 :       Value |= (op & UINT64_C(16)) << 3;
    4809             :       // op: R
    4810          12 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4811          12 :       Value |= (op & UINT64_C(15)) << 12;
    4812             :       // op: p
    4813          12 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4814          12 :       Value |= (op & UINT64_C(15)) << 28;
    4815          12 :       Value = NEONThumb2DupPostEncoder(MI, Value, STI);
    4816          12 :       break;
    4817             :     }
    4818             :     case ARM::VSETLNi32: {
    4819             :       // op: V
    4820          12 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4821          12 :       Value |= (op & UINT64_C(15)) << 16;
    4822          12 :       Value |= (op & UINT64_C(16)) << 3;
    4823             :       // op: R
    4824          12 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4825          12 :       Value |= (op & UINT64_C(15)) << 12;
    4826             :       // op: p
    4827          12 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    4828          12 :       Value |= (op & UINT64_C(15)) << 28;
    4829             :       // op: lane
    4830          12 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4831          12 :       Value |= (op & UINT64_C(1)) << 21;
    4832          12 :       Value = NEONThumb2DupPostEncoder(MI, Value, STI);
    4833          12 :       break;
    4834             :     }
    4835             :     case ARM::VSETLNi16: {
    4836             :       // op: V
    4837           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4838           6 :       Value |= (op & UINT64_C(15)) << 16;
    4839           6 :       Value |= (op & UINT64_C(16)) << 3;
    4840             :       // op: R
    4841           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4842           6 :       Value |= (op & UINT64_C(15)) << 12;
    4843             :       // op: p
    4844           6 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    4845           6 :       Value |= (op & UINT64_C(15)) << 28;
    4846             :       // op: lane
    4847           6 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4848           6 :       Value |= (op & UINT64_C(2)) << 20;
    4849           6 :       Value |= (op & UINT64_C(1)) << 6;
    4850           6 :       Value = NEONThumb2DupPostEncoder(MI, Value, STI);
    4851           6 :       break;
    4852             :     }
    4853             :     case ARM::VSETLNi8: {
    4854             :       // op: V
    4855           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4856           6 :       Value |= (op & UINT64_C(15)) << 16;
    4857           6 :       Value |= (op & UINT64_C(16)) << 3;
    4858             :       // op: R
    4859           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4860           6 :       Value |= (op & UINT64_C(15)) << 12;
    4861             :       // op: p
    4862           6 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    4863           6 :       Value |= (op & UINT64_C(15)) << 28;
    4864             :       // op: lane
    4865           6 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4866           6 :       Value |= (op & UINT64_C(4)) << 19;
    4867           6 :       Value |= (op & UINT64_C(3)) << 5;
    4868           6 :       Value = NEONThumb2DupPostEncoder(MI, Value, STI);
    4869           6 :       break;
    4870             :     }
    4871             :     case ARM::VGETLNi32: {
    4872             :       // op: V
    4873          10 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4874          10 :       Value |= (op & UINT64_C(15)) << 16;
    4875          10 :       Value |= (op & UINT64_C(16)) << 3;
    4876             :       // op: R
    4877          10 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4878          10 :       Value |= (op & UINT64_C(15)) << 12;
    4879             :       // op: p
    4880          10 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4881          10 :       Value |= (op & UINT64_C(15)) << 28;
    4882             :       // op: lane
    4883          10 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4884          10 :       Value |= (op & UINT64_C(1)) << 21;
    4885          10 :       Value = NEONThumb2DupPostEncoder(MI, Value, STI);
    4886          10 :       break;
    4887             :     }
    4888             :     case ARM::VGETLNs16:
    4889             :     case ARM::VGETLNu16: {
    4890             :       // op: V
    4891           6 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4892           6 :       Value |= (op & UINT64_C(15)) << 16;
    4893           6 :       Value |= (op & UINT64_C(16)) << 3;
    4894             :       // op: R
    4895           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4896           6 :       Value |= (op & UINT64_C(15)) << 12;
    4897             :       // op: p
    4898           6 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4899           6 :       Value |= (op & UINT64_C(15)) << 28;
    4900             :       // op: lane
    4901           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4902           6 :       Value |= (op & UINT64_C(2)) << 20;
    4903           6 :       Value |= (op & UINT64_C(1)) << 6;
    4904           6 :       Value = NEONThumb2DupPostEncoder(MI, Value, STI);
    4905           6 :       break;
    4906             :     }
    4907             :     case ARM::VGETLNs8:
    4908             :     case ARM::VGETLNu8: {
    4909             :       // op: V
    4910           6 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    4911           6 :       Value |= (op & UINT64_C(15)) << 16;
    4912           6 :       Value |= (op & UINT64_C(16)) << 3;
    4913             :       // op: R
    4914           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4915           6 :       Value |= (op & UINT64_C(15)) << 12;
    4916             :       // op: p
    4917           6 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    4918           6 :       Value |= (op & UINT64_C(15)) << 28;
    4919             :       // op: lane
    4920           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    4921           6 :       Value |= (op & UINT64_C(4)) << 19;
    4922           6 :       Value |= (op & UINT64_C(3)) << 5;
    4923           6 :       Value = NEONThumb2DupPostEncoder(MI, Value, STI);
    4924           6 :       break;
    4925             :     }
    4926             :     case ARM::VLD1LNd8: {
    4927             :       // op: Vd
    4928           4 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4929           4 :       Value |= (op & UINT64_C(16)) << 18;
    4930           4 :       Value |= (op & UINT64_C(15)) << 12;
    4931             :       // op: Rn
    4932           4 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    4933           4 :       Value |= (op & UINT64_C(15)) << 16;
    4934             :       // op: lane
    4935           4 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    4936           4 :       Value |= (op & UINT64_C(7)) << 5;
    4937           4 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    4938           4 :       break;
    4939             :     }
    4940             :     case ARM::VLD1d16:
    4941             :     case ARM::VLD1d16T:
    4942             :     case ARM::VLD1d32:
    4943             :     case ARM::VLD1d32T:
    4944             :     case ARM::VLD1d64:
    4945             :     case ARM::VLD1d64T:
    4946             :     case ARM::VLD1d8:
    4947             :     case ARM::VLD1d8T: {
    4948             :       // op: Vd
    4949          34 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4950          34 :       Value |= (op & UINT64_C(16)) << 18;
    4951          34 :       Value |= (op & UINT64_C(15)) << 12;
    4952             :       // op: Rn
    4953          34 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    4954          34 :       Value |= (op & UINT64_C(15)) << 16;
    4955          34 :       Value |= op & UINT64_C(16);
    4956          34 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    4957          34 :       break;
    4958             :     }
    4959             :     case ARM::VLD1LNd16: {
    4960             :       // op: Vd
    4961           5 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4962           5 :       Value |= (op & UINT64_C(16)) << 18;
    4963           5 :       Value |= (op & UINT64_C(15)) << 12;
    4964             :       // op: Rn
    4965           5 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    4966           5 :       Value |= (op & UINT64_C(15)) << 16;
    4967           5 :       Value |= op & UINT64_C(48);
    4968             :       // op: lane
    4969           5 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    4970           5 :       Value |= (op & UINT64_C(3)) << 6;
    4971           5 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    4972           5 :       break;
    4973             :     }
    4974             :     case ARM::VLD1d16Q:
    4975             :     case ARM::VLD1d32Q:
    4976             :     case ARM::VLD1d64Q:
    4977             :     case ARM::VLD1d8Q:
    4978             :     case ARM::VLD1q16:
    4979             :     case ARM::VLD1q32:
    4980             :     case ARM::VLD1q64:
    4981             :     case ARM::VLD1q8:
    4982             :     case ARM::VLD2b16:
    4983             :     case ARM::VLD2b32:
    4984             :     case ARM::VLD2b8:
    4985             :     case ARM::VLD2d16:
    4986             :     case ARM::VLD2d32:
    4987             :     case ARM::VLD2d8:
    4988             :     case ARM::VLD2q16:
    4989             :     case ARM::VLD2q32:
    4990             :     case ARM::VLD2q8: {
    4991             :       // op: Vd
    4992          95 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    4993          95 :       Value |= (op & UINT64_C(16)) << 18;
    4994          95 :       Value |= (op & UINT64_C(15)) << 12;
    4995             :       // op: Rn
    4996          95 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    4997          95 :       Value |= (op & UINT64_C(15)) << 16;
    4998          95 :       Value |= op & UINT64_C(48);
    4999          95 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5000          95 :       break;
    5001             :     }
    5002             :     case ARM::VLD1LNd8_UPD: {
    5003             :       // op: Vd
    5004          13 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5005          13 :       Value |= (op & UINT64_C(16)) << 18;
    5006          13 :       Value |= (op & UINT64_C(15)) << 12;
    5007             :       // op: Rn
    5008          13 :       op = getAddrMode6AddressOpValue(MI, 2, Fixups, STI);
    5009          13 :       Value |= (op & UINT64_C(15)) << 16;
    5010             :       // op: Rm
    5011             :       op = getAddrMode6OffsetOpValue(MI, 4, Fixups, STI);
    5012          13 :       Value |= op & UINT64_C(15);
    5013             :       // op: lane
    5014          13 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
    5015          13 :       Value |= (op & UINT64_C(7)) << 5;
    5016          13 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5017          13 :       break;
    5018             :     }
    5019             :     case ARM::VLD1LNd32_UPD: {
    5020             :       // op: Vd
    5021          12 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5022          12 :       Value |= (op & UINT64_C(16)) << 18;
    5023          12 :       Value |= (op & UINT64_C(15)) << 12;
    5024             :       // op: Rn
    5025          12 :       op = getAddrMode6AddressOpValue(MI, 2, Fixups, STI);
    5026          12 :       Value |= (op & UINT64_C(15)) << 16;
    5027          12 :       Value |= (op & UINT64_C(16)) << 1;
    5028          12 :       Value |= op & UINT64_C(16);
    5029             :       // op: Rm
    5030             :       op = getAddrMode6OffsetOpValue(MI, 4, Fixups, STI);
    5031          12 :       Value |= op & UINT64_C(15);
    5032             :       // op: lane
    5033          12 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
    5034          12 :       Value |= (op & UINT64_C(1)) << 7;
    5035          12 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5036          12 :       break;
    5037             :     }
    5038             :     case ARM::VLD1LNd16_UPD: {
    5039             :       // op: Vd
    5040          19 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5041          19 :       Value |= (op & UINT64_C(16)) << 18;
    5042          19 :       Value |= (op & UINT64_C(15)) << 12;
    5043             :       // op: Rn
    5044          19 :       op = getAddrMode6AddressOpValue(MI, 2, Fixups, STI);
    5045          19 :       Value |= (op & UINT64_C(15)) << 16;
    5046          19 :       Value |= op & UINT64_C(16);
    5047             :       // op: Rm
    5048             :       op = getAddrMode6OffsetOpValue(MI, 4, Fixups, STI);
    5049          19 :       Value |= op & UINT64_C(15);
    5050             :       // op: lane
    5051          19 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
    5052          19 :       Value |= (op & UINT64_C(3)) << 6;
    5053          19 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5054          19 :       break;
    5055             :     }
    5056             :     case ARM::VLD1d16Twb_register:
    5057             :     case ARM::VLD1d16wb_register:
    5058             :     case ARM::VLD1d32Twb_register:
    5059             :     case ARM::VLD1d32wb_register:
    5060             :     case ARM::VLD1d64Twb_register:
    5061             :     case ARM::VLD1d64wb_register:
    5062             :     case ARM::VLD1d8Twb_register:
    5063             :     case ARM::VLD1d8wb_register: {
    5064             :       // op: Vd
    5065          24 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5066          24 :       Value |= (op & UINT64_C(16)) << 18;
    5067          24 :       Value |= (op & UINT64_C(15)) << 12;
    5068             :       // op: Rn
    5069          24 :       op = getAddrMode6AddressOpValue(MI, 2, Fixups, STI);
    5070          24 :       Value |= (op & UINT64_C(15)) << 16;
    5071          24 :       Value |= op & UINT64_C(16);
    5072             :       // op: Rm
    5073          24 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    5074          24 :       Value |= op & UINT64_C(15);
    5075          24 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5076          24 :       break;
    5077             :     }
    5078             :     case ARM::VLD2LNd32:
    5079             :     case ARM::VLD2LNq32: {
    5080             :       // op: Vd
    5081           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5082           8 :       Value |= (op & UINT64_C(16)) << 18;
    5083           8 :       Value |= (op & UINT64_C(15)) << 12;
    5084             :       // op: Rn
    5085           8 :       op = getAddrMode6AddressOpValue(MI, 2, Fixups, STI);
    5086           8 :       Value |= (op & UINT64_C(15)) << 16;
    5087           8 :       Value |= op & UINT64_C(16);
    5088             :       // op: lane
    5089           8 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
    5090           8 :       Value |= (op & UINT64_C(1)) << 7;
    5091           8 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5092           8 :       break;
    5093             :     }
    5094             :     case ARM::VLD2LNd16:
    5095             :     case ARM::VLD2LNq16: {
    5096             :       // op: Vd
    5097           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5098           8 :       Value |= (op & UINT64_C(16)) << 18;
    5099           8 :       Value |= (op & UINT64_C(15)) << 12;
    5100             :       // op: Rn
    5101           8 :       op = getAddrMode6AddressOpValue(MI, 2, Fixups, STI);
    5102           8 :       Value |= (op & UINT64_C(15)) << 16;
    5103           8 :       Value |= op & UINT64_C(16);
    5104             :       // op: lane
    5105           8 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
    5106           8 :       Value |= (op & UINT64_C(3)) << 6;
    5107           8 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5108           8 :       break;
    5109             :     }
    5110             :     case ARM::VLD2LNd8: {
    5111             :       // op: Vd
    5112           5 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5113           5 :       Value |= (op & UINT64_C(16)) << 18;
    5114           5 :       Value |= (op & UINT64_C(15)) << 12;
    5115             :       // op: Rn
    5116           5 :       op = getAddrMode6AddressOpValue(MI, 2, Fixups, STI);
    5117           5 :       Value |= (op & UINT64_C(15)) << 16;
    5118           5 :       Value |= op & UINT64_C(16);
    5119             :       // op: lane
    5120           5 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
    5121           5 :       Value |= (op & UINT64_C(7)) << 5;
    5122           5 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5123           5 :       break;
    5124             :     }
    5125             :     case ARM::VLD1d16Twb_fixed:
    5126             :     case ARM::VLD1d16wb_fixed:
    5127             :     case ARM::VLD1d32Twb_fixed:
    5128             :     case ARM::VLD1d32wb_fixed:
    5129             :     case ARM::VLD1d64Twb_fixed:
    5130             :     case ARM::VLD1d64wb_fixed:
    5131             :     case ARM::VLD1d8Twb_fixed:
    5132             :     case ARM::VLD1d8wb_fixed: {
    5133             :       // op: Vd
    5134          72 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5135          72 :       Value |= (op & UINT64_C(16)) << 18;
    5136          72 :       Value |= (op & UINT64_C(15)) << 12;
    5137             :       // op: Rn
    5138          72 :       op = getAddrMode6AddressOpValue(MI, 2, Fixups, STI);
    5139          72 :       Value |= (op & UINT64_C(15)) << 16;
    5140          72 :       Value |= op & UINT64_C(16);
    5141          72 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5142          72 :       break;
    5143             :     }
    5144             :     case ARM::VLD1d16Qwb_register:
    5145             :     case ARM::VLD1d32Qwb_register:
    5146             :     case ARM::VLD1d64Qwb_register:
    5147             :     case ARM::VLD1d8Qwb_register:
    5148             :     case ARM::VLD1q16wb_register:
    5149             :     case ARM::VLD1q32wb_register:
    5150             :     case ARM::VLD1q64wb_register:
    5151             :     case ARM::VLD1q8wb_register:
    5152             :     case ARM::VLD2b16wb_register:
    5153             :     case ARM::VLD2b32wb_register:
    5154             :     case ARM::VLD2b8wb_register:
    5155             :     case ARM::VLD2d16wb_register:
    5156             :     case ARM::VLD2d32wb_register:
    5157             :     case ARM::VLD2d8wb_register:
    5158             :     case ARM::VLD2q16wb_register:
    5159             :     case ARM::VLD2q32wb_register:
    5160             :     case ARM::VLD2q8wb_register: {
    5161             :       // op: Vd
    5162          72 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5163          72 :       Value |= (op & UINT64_C(16)) << 18;
    5164          72 :       Value |= (op & UINT64_C(15)) << 12;
    5165             :       // op: Rn
    5166          72 :       op = getAddrMode6AddressOpValue(MI, 2, Fixups, STI);
    5167          72 :       Value |= (op & UINT64_C(15)) << 16;
    5168          72 :       Value |= op & UINT64_C(48);
    5169             :       // op: Rm
    5170          72 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    5171          72 :       Value |= op & UINT64_C(15);
    5172          72 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5173          72 :       break;
    5174             :     }
    5175             :     case ARM::VLD1d16Qwb_fixed:
    5176             :     case ARM::VLD1d32Qwb_fixed:
    5177             :     case ARM::VLD1d64Qwb_fixed:
    5178             :     case ARM::VLD1d8Qwb_fixed:
    5179             :     case ARM::VLD1q16wb_fixed:
    5180             :     case ARM::VLD1q32wb_fixed:
    5181             :     case ARM::VLD1q64wb_fixed:
    5182             :     case ARM::VLD1q8wb_fixed:
    5183             :     case ARM::VLD2b16wb_fixed:
    5184             :     case ARM::VLD2b32wb_fixed:
    5185             :     case ARM::VLD2b8wb_fixed:
    5186             :     case ARM::VLD2d16wb_fixed:
    5187             :     case ARM::VLD2d32wb_fixed:
    5188             :     case ARM::VLD2d8wb_fixed:
    5189             :     case ARM::VLD2q16wb_fixed:
    5190             :     case ARM::VLD2q32wb_fixed:
    5191             :     case ARM::VLD2q8wb_fixed: {
    5192             :       // op: Vd
    5193         102 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5194         102 :       Value |= (op & UINT64_C(16)) << 18;
    5195         102 :       Value |= (op & UINT64_C(15)) << 12;
    5196             :       // op: Rn
    5197         102 :       op = getAddrMode6AddressOpValue(MI, 2, Fixups, STI);
    5198         102 :       Value |= (op & UINT64_C(15)) << 16;
    5199         102 :       Value |= op & UINT64_C(48);
    5200         102 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5201         102 :       break;
    5202             :     }
    5203             :     case ARM::VLD3LNd32:
    5204             :     case ARM::VLD3LNq32: {
    5205             :       // op: Vd
    5206           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5207           6 :       Value |= (op & UINT64_C(16)) << 18;
    5208           6 :       Value |= (op & UINT64_C(15)) << 12;
    5209             :       // op: Rn
    5210           6 :       op = getAddrMode6AddressOpValue(MI, 3, Fixups, STI);
    5211           6 :       Value |= (op & UINT64_C(15)) << 16;
    5212             :       // op: lane
    5213           6 :       op = getMachineOpValue(MI, MI.getOperand(8), Fixups, STI);
    5214           6 :       Value |= (op & UINT64_C(1)) << 7;
    5215           6 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5216           6 :       break;
    5217             :     }
    5218             :     case ARM::VLD3LNd16:
    5219             :     case ARM::VLD3LNq16: {
    5220             :       // op: Vd
    5221           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5222           6 :       Value |= (op & UINT64_C(16)) << 18;
    5223           6 :       Value |= (op & UINT64_C(15)) << 12;
    5224             :       // op: Rn
    5225           6 :       op = getAddrMode6AddressOpValue(MI, 3, Fixups, STI);
    5226           6 :       Value |= (op & UINT64_C(15)) << 16;
    5227             :       // op: lane
    5228           6 :       op = getMachineOpValue(MI, MI.getOperand(8), Fixups, STI);
    5229           6 :       Value |= (op & UINT64_C(3)) << 6;
    5230           6 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5231           6 :       break;
    5232             :     }
    5233             :     case ARM::VLD3LNd8: {
    5234             :       // op: Vd
    5235           3 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5236           3 :       Value |= (op & UINT64_C(16)) << 18;
    5237           3 :       Value |= (op & UINT64_C(15)) << 12;
    5238             :       // op: Rn
    5239           3 :       op = getAddrMode6AddressOpValue(MI, 3, Fixups, STI);
    5240           3 :       Value |= (op & UINT64_C(15)) << 16;
    5241             :       // op: lane
    5242           3 :       op = getMachineOpValue(MI, MI.getOperand(8), Fixups, STI);
    5243           3 :       Value |= (op & UINT64_C(7)) << 5;
    5244           3 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5245           3 :       break;
    5246             :     }
    5247             :     case ARM::VLD2LNd32_UPD:
    5248             :     case ARM::VLD2LNq32_UPD: {
    5249             :       // op: Vd
    5250           9 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5251           9 :       Value |= (op & UINT64_C(16)) << 18;
    5252           9 :       Value |= (op & UINT64_C(15)) << 12;
    5253             :       // op: Rn
    5254           9 :       op = getAddrMode6AddressOpValue(MI, 3, Fixups, STI);
    5255           9 :       Value |= (op & UINT64_C(15)) << 16;
    5256           9 :       Value |= op & UINT64_C(16);
    5257             :       // op: Rm
    5258             :       op = getAddrMode6OffsetOpValue(MI, 5, Fixups, STI);
    5259           9 :       Value |= op & UINT64_C(15);
    5260             :       // op: lane
    5261           9 :       op = getMachineOpValue(MI, MI.getOperand(8), Fixups, STI);
    5262           9 :       Value |= (op & UINT64_C(1)) << 7;
    5263           9 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5264           9 :       break;
    5265             :     }
    5266             :     case ARM::VLD2LNd16_UPD:
    5267             :     case ARM::VLD2LNq16_UPD: {
    5268             :       // op: Vd
    5269           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5270           8 :       Value |= (op & UINT64_C(16)) << 18;
    5271           8 :       Value |= (op & UINT64_C(15)) << 12;
    5272             :       // op: Rn
    5273           8 :       op = getAddrMode6AddressOpValue(MI, 3, Fixups, STI);
    5274           8 :       Value |= (op & UINT64_C(15)) << 16;
    5275           8 :       Value |= op & UINT64_C(16);
    5276             :       // op: Rm
    5277             :       op = getAddrMode6OffsetOpValue(MI, 5, Fixups, STI);
    5278           8 :       Value |= op & UINT64_C(15);
    5279             :       // op: lane
    5280           8 :       op = getMachineOpValue(MI, MI.getOperand(8), Fixups, STI);
    5281           8 :       Value |= (op & UINT64_C(3)) << 6;
    5282           8 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5283           8 :       break;
    5284             :     }
    5285             :     case ARM::VLD2LNd8_UPD: {
    5286             :       // op: Vd
    5287           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5288           6 :       Value |= (op & UINT64_C(16)) << 18;
    5289           6 :       Value |= (op & UINT64_C(15)) << 12;
    5290             :       // op: Rn
    5291           6 :       op = getAddrMode6AddressOpValue(MI, 3, Fixups, STI);
    5292           6 :       Value |= (op & UINT64_C(15)) << 16;
    5293           6 :       Value |= op & UINT64_C(16);
    5294             :       // op: Rm
    5295             :       op = getAddrMode6OffsetOpValue(MI, 5, Fixups, STI);
    5296           6 :       Value |= op & UINT64_C(15);
    5297             :       // op: lane
    5298           6 :       op = getMachineOpValue(MI, MI.getOperand(8), Fixups, STI);
    5299           6 :       Value |= (op & UINT64_C(7)) << 5;
    5300           6 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5301           6 :       break;
    5302             :     }
    5303             :     case ARM::VLD3d16:
    5304             :     case ARM::VLD3d32:
    5305             :     case ARM::VLD3d8:
    5306             :     case ARM::VLD3q16:
    5307             :     case ARM::VLD3q32:
    5308             :     case ARM::VLD3q8: {
    5309             :       // op: Vd
    5310          21 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5311          21 :       Value |= (op & UINT64_C(16)) << 18;
    5312          21 :       Value |= (op & UINT64_C(15)) << 12;
    5313             :       // op: Rn
    5314          21 :       op = getAddrMode6AddressOpValue(MI, 3, Fixups, STI);
    5315          21 :       Value |= (op & UINT64_C(15)) << 16;
    5316          21 :       Value |= op & UINT64_C(16);
    5317          21 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5318          21 :       break;
    5319             :     }
    5320             :     case ARM::VLD3LNd32_UPD:
    5321             :     case ARM::VLD3LNq32_UPD: {
    5322             :       // op: Vd
    5323           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5324           8 :       Value |= (op & UINT64_C(16)) << 18;
    5325           8 :       Value |= (op & UINT64_C(15)) << 12;
    5326             :       // op: Rn
    5327           8 :       op = getAddrMode6AddressOpValue(MI, 4, Fixups, STI);
    5328           8 :       Value |= (op & UINT64_C(15)) << 16;
    5329             :       // op: Rm
    5330             :       op = getAddrMode6OffsetOpValue(MI, 6, Fixups, STI);
    5331           8 :       Value |= op & UINT64_C(15);
    5332             :       // op: lane
    5333           8 :       op = getMachineOpValue(MI, MI.getOperand(10), Fixups, STI);
    5334           8 :       Value |= (op & UINT64_C(1)) << 7;
    5335           8 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5336           8 :       break;
    5337             :     }
    5338             :     case ARM::VLD3LNd16_UPD:
    5339             :     case ARM::VLD3LNq16_UPD: {
    5340             :       // op: Vd
    5341           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5342           8 :       Value |= (op & UINT64_C(16)) << 18;
    5343           8 :       Value |= (op & UINT64_C(15)) << 12;
    5344             :       // op: Rn
    5345           8 :       op = getAddrMode6AddressOpValue(MI, 4, Fixups, STI);
    5346           8 :       Value |= (op & UINT64_C(15)) << 16;
    5347             :       // op: Rm
    5348             :       op = getAddrMode6OffsetOpValue(MI, 6, Fixups, STI);
    5349           8 :       Value |= op & UINT64_C(15);
    5350             :       // op: lane
    5351           8 :       op = getMachineOpValue(MI, MI.getOperand(10), Fixups, STI);
    5352           8 :       Value |= (op & UINT64_C(3)) << 6;
    5353           8 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5354           8 :       break;
    5355             :     }
    5356             :     case ARM::VLD3LNd8_UPD: {
    5357             :       // op: Vd
    5358           4 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5359           4 :       Value |= (op & UINT64_C(16)) << 18;
    5360           4 :       Value |= (op & UINT64_C(15)) << 12;
    5361             :       // op: Rn
    5362           4 :       op = getAddrMode6AddressOpValue(MI, 4, Fixups, STI);
    5363           4 :       Value |= (op & UINT64_C(15)) << 16;
    5364             :       // op: Rm
    5365             :       op = getAddrMode6OffsetOpValue(MI, 6, Fixups, STI);
    5366           4 :       Value |= op & UINT64_C(15);
    5367             :       // op: lane
    5368           4 :       op = getMachineOpValue(MI, MI.getOperand(10), Fixups, STI);
    5369           4 :       Value |= (op & UINT64_C(7)) << 5;
    5370           4 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5371           4 :       break;
    5372             :     }
    5373             :     case ARM::VLD3d16_UPD:
    5374             :     case ARM::VLD3d32_UPD:
    5375             :     case ARM::VLD3d8_UPD:
    5376             :     case ARM::VLD3q16_UPD:
    5377             :     case ARM::VLD3q32_UPD:
    5378             :     case ARM::VLD3q8_UPD: {
    5379             :       // op: Vd
    5380          42 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5381          42 :       Value |= (op & UINT64_C(16)) << 18;
    5382          42 :       Value |= (op & UINT64_C(15)) << 12;
    5383             :       // op: Rn
    5384          42 :       op = getAddrMode6AddressOpValue(MI, 4, Fixups, STI);
    5385          42 :       Value |= (op & UINT64_C(15)) << 16;
    5386          42 :       Value |= op & UINT64_C(16);
    5387             :       // op: Rm
    5388             :       op = getAddrMode6OffsetOpValue(MI, 6, Fixups, STI);
    5389          42 :       Value |= op & UINT64_C(15);
    5390          42 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5391          42 :       break;
    5392             :     }
    5393             :     case ARM::VLD4LNd16:
    5394             :     case ARM::VLD4LNq16: {
    5395             :       // op: Vd
    5396           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5397           8 :       Value |= (op & UINT64_C(16)) << 18;
    5398           8 :       Value |= (op & UINT64_C(15)) << 12;
    5399             :       // op: Rn
    5400           8 :       op = getAddrMode6AddressOpValue(MI, 4, Fixups, STI);
    5401           8 :       Value |= (op & UINT64_C(15)) << 16;
    5402           8 :       Value |= op & UINT64_C(16);
    5403             :       // op: lane
    5404           8 :       op = getMachineOpValue(MI, MI.getOperand(10), Fixups, STI);
    5405           8 :       Value |= (op & UINT64_C(3)) << 6;
    5406           8 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5407           8 :       break;
    5408             :     }
    5409             :     case ARM::VLD4LNd8: {
    5410             :       // op: Vd
    5411           4 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5412           4 :       Value |= (op & UINT64_C(16)) << 18;
    5413           4 :       Value |= (op & UINT64_C(15)) << 12;
    5414             :       // op: Rn
    5415           4 :       op = getAddrMode6AddressOpValue(MI, 4, Fixups, STI);
    5416           4 :       Value |= (op & UINT64_C(15)) << 16;
    5417           4 :       Value |= op & UINT64_C(16);
    5418             :       // op: lane
    5419           4 :       op = getMachineOpValue(MI, MI.getOperand(10), Fixups, STI);
    5420           4 :       Value |= (op & UINT64_C(7)) << 5;
    5421           4 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5422           4 :       break;
    5423             :     }
    5424             :     case ARM::VLD4LNd32:
    5425             :     case ARM::VLD4LNq32: {
    5426             :       // op: Vd
    5427          10 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5428          10 :       Value |= (op & UINT64_C(16)) << 18;
    5429          10 :       Value |= (op & UINT64_C(15)) << 12;
    5430             :       // op: Rn
    5431          10 :       op = getAddrMode6AddressOpValue(MI, 4, Fixups, STI);
    5432          10 :       Value |= (op & UINT64_C(15)) << 16;
    5433          10 :       Value |= op & UINT64_C(48);
    5434             :       // op: lane
    5435          10 :       op = getMachineOpValue(MI, MI.getOperand(10), Fixups, STI);
    5436          10 :       Value |= (op & UINT64_C(1)) << 7;
    5437          10 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5438          10 :       break;
    5439             :     }
    5440             :     case ARM::VLD4d16:
    5441             :     case ARM::VLD4d32:
    5442             :     case ARM::VLD4d8:
    5443             :     case ARM::VLD4q16:
    5444             :     case ARM::VLD4q32:
    5445             :     case ARM::VLD4q8: {
    5446             :       // op: Vd
    5447          33 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5448          33 :       Value |= (op & UINT64_C(16)) << 18;
    5449          33 :       Value |= (op & UINT64_C(15)) << 12;
    5450             :       // op: Rn
    5451          33 :       op = getAddrMode6AddressOpValue(MI, 4, Fixups, STI);
    5452          33 :       Value |= (op & UINT64_C(15)) << 16;
    5453          33 :       Value |= op & UINT64_C(48);
    5454          33 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5455          33 :       break;
    5456             :     }
    5457             :     case ARM::VLD4LNd16_UPD:
    5458             :     case ARM::VLD4LNq16_UPD: {
    5459             :       // op: Vd
    5460          13 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5461          13 :       Value |= (op & UINT64_C(16)) << 18;
    5462          13 :       Value |= (op & UINT64_C(15)) << 12;
    5463             :       // op: Rn
    5464          13 :       op = getAddrMode6AddressOpValue(MI, 5, Fixups, STI);
    5465          13 :       Value |= (op & UINT64_C(15)) << 16;
    5466          13 :       Value |= op & UINT64_C(16);
    5467             :       // op: Rm
    5468             :       op = getAddrMode6OffsetOpValue(MI, 7, Fixups, STI);
    5469          13 :       Value |= op & UINT64_C(15);
    5470             :       // op: lane
    5471          13 :       op = getMachineOpValue(MI, MI.getOperand(12), Fixups, STI);
    5472          13 :       Value |= (op & UINT64_C(3)) << 6;
    5473          13 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5474          13 :       break;
    5475             :     }
    5476             :     case ARM::VLD4LNd8_UPD: {
    5477             :       // op: Vd
    5478           7 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5479           7 :       Value |= (op & UINT64_C(16)) << 18;
    5480           7 :       Value |= (op & UINT64_C(15)) << 12;
    5481             :       // op: Rn
    5482           7 :       op = getAddrMode6AddressOpValue(MI, 5, Fixups, STI);
    5483           7 :       Value |= (op & UINT64_C(15)) << 16;
    5484           7 :       Value |= op & UINT64_C(16);
    5485             :       // op: Rm
    5486             :       op = getAddrMode6OffsetOpValue(MI, 7, Fixups, STI);
    5487           7 :       Value |= op & UINT64_C(15);
    5488             :       // op: lane
    5489           7 :       op = getMachineOpValue(MI, MI.getOperand(12), Fixups, STI);
    5490           7 :       Value |= (op & UINT64_C(7)) << 5;
    5491           7 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5492           7 :       break;
    5493             :     }
    5494             :     case ARM::VLD4LNd32_UPD:
    5495             :     case ARM::VLD4LNq32_UPD: {
    5496             :       // op: Vd
    5497          17 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5498          17 :       Value |= (op & UINT64_C(16)) << 18;
    5499          17 :       Value |= (op & UINT64_C(15)) << 12;
    5500             :       // op: Rn
    5501          17 :       op = getAddrMode6AddressOpValue(MI, 5, Fixups, STI);
    5502          17 :       Value |= (op & UINT64_C(15)) << 16;
    5503          17 :       Value |= op & UINT64_C(48);
    5504             :       // op: Rm
    5505             :       op = getAddrMode6OffsetOpValue(MI, 7, Fixups, STI);
    5506          17 :       Value |= op & UINT64_C(15);
    5507             :       // op: lane
    5508          17 :       op = getMachineOpValue(MI, MI.getOperand(12), Fixups, STI);
    5509          17 :       Value |= (op & UINT64_C(1)) << 7;
    5510          17 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5511          17 :       break;
    5512             :     }
    5513             :     case ARM::VLD4d16_UPD:
    5514             :     case ARM::VLD4d32_UPD:
    5515             :     case ARM::VLD4d8_UPD:
    5516             :     case ARM::VLD4q16_UPD:
    5517             :     case ARM::VLD4q32_UPD:
    5518             :     case ARM::VLD4q8_UPD: {
    5519             :       // op: Vd
    5520          66 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5521          66 :       Value |= (op & UINT64_C(16)) << 18;
    5522          66 :       Value |= (op & UINT64_C(15)) << 12;
    5523             :       // op: Rn
    5524          66 :       op = getAddrMode6AddressOpValue(MI, 5, Fixups, STI);
    5525          66 :       Value |= (op & UINT64_C(15)) << 16;
    5526          66 :       Value |= op & UINT64_C(48);
    5527             :       // op: Rm
    5528             :       op = getAddrMode6OffsetOpValue(MI, 7, Fixups, STI);
    5529          66 :       Value |= op & UINT64_C(15);
    5530          66 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5531          66 :       break;
    5532             :     }
    5533             :     case ARM::VLD1DUPd16:
    5534             :     case ARM::VLD1DUPd32:
    5535             :     case ARM::VLD1DUPd8:
    5536             :     case ARM::VLD1DUPq16:
    5537             :     case ARM::VLD1DUPq32:
    5538             :     case ARM::VLD1DUPq8:
    5539             :     case ARM::VLD2DUPd16:
    5540             :     case ARM::VLD2DUPd16x2:
    5541             :     case ARM::VLD2DUPd32:
    5542             :     case ARM::VLD2DUPd32x2:
    5543             :     case ARM::VLD2DUPd8:
    5544             :     case ARM::VLD2DUPd8x2: {
    5545             :       // op: Vd
    5546          26 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5547          26 :       Value |= (op & UINT64_C(16)) << 18;
    5548          26 :       Value |= (op & UINT64_C(15)) << 12;
    5549             :       // op: Rn
    5550          26 :       op = getAddrMode6DupAddressOpValue(MI, 1, Fixups, STI);
    5551          26 :       Value |= (op & UINT64_C(15)) << 16;
    5552          26 :       Value |= op & UINT64_C(16);
    5553          26 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5554          26 :       break;
    5555             :     }
    5556             :     case ARM::VLD1DUPd16wb_register:
    5557             :     case ARM::VLD1DUPd32wb_register:
    5558             :     case ARM::VLD1DUPd8wb_register:
    5559             :     case ARM::VLD1DUPq16wb_register:
    5560             :     case ARM::VLD1DUPq32wb_register:
    5561             :     case ARM::VLD1DUPq8wb_register:
    5562             :     case ARM::VLD2DUPd16wb_register:
    5563             :     case ARM::VLD2DUPd16x2wb_register:
    5564             :     case ARM::VLD2DUPd32wb_register:
    5565             :     case ARM::VLD2DUPd32x2wb_register:
    5566             :     case ARM::VLD2DUPd8wb_register:
    5567             :     case ARM::VLD2DUPd8x2wb_register: {
    5568             :       // op: Vd
    5569          26 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5570          26 :       Value |= (op & UINT64_C(16)) << 18;
    5571          26 :       Value |= (op & UINT64_C(15)) << 12;
    5572             :       // op: Rn
    5573          26 :       op = getAddrMode6DupAddressOpValue(MI, 2, Fixups, STI);
    5574          26 :       Value |= (op & UINT64_C(15)) << 16;
    5575          26 :       Value |= op & UINT64_C(16);
    5576             :       // op: Rm
    5577          26 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    5578          26 :       Value |= op & UINT64_C(15);
    5579          26 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5580          26 :       break;
    5581             :     }
    5582             :     case ARM::VLD1DUPd16wb_fixed:
    5583             :     case ARM::VLD1DUPd32wb_fixed:
    5584             :     case ARM::VLD1DUPd8wb_fixed:
    5585             :     case ARM::VLD1DUPq16wb_fixed:
    5586             :     case ARM::VLD1DUPq32wb_fixed:
    5587             :     case ARM::VLD1DUPq8wb_fixed:
    5588             :     case ARM::VLD2DUPd16wb_fixed:
    5589             :     case ARM::VLD2DUPd16x2wb_fixed:
    5590             :     case ARM::VLD2DUPd32wb_fixed:
    5591             :     case ARM::VLD2DUPd32x2wb_fixed:
    5592             :     case ARM::VLD2DUPd8wb_fixed:
    5593             :     case ARM::VLD2DUPd8x2wb_fixed: {
    5594             :       // op: Vd
    5595          26 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5596          26 :       Value |= (op & UINT64_C(16)) << 18;
    5597          26 :       Value |= (op & UINT64_C(15)) << 12;
    5598             :       // op: Rn
    5599          26 :       op = getAddrMode6DupAddressOpValue(MI, 2, Fixups, STI);
    5600          26 :       Value |= (op & UINT64_C(15)) << 16;
    5601          26 :       Value |= op & UINT64_C(16);
    5602          26 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5603          26 :       break;
    5604             :     }
    5605             :     case ARM::VLD3DUPd16:
    5606             :     case ARM::VLD3DUPd32:
    5607             :     case ARM::VLD3DUPd8:
    5608             :     case ARM::VLD3DUPq16:
    5609             :     case ARM::VLD3DUPq32:
    5610             :     case ARM::VLD3DUPq8: {
    5611             :       // op: Vd
    5612          12 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5613          12 :       Value |= (op & UINT64_C(16)) << 18;
    5614          12 :       Value |= (op & UINT64_C(15)) << 12;
    5615             :       // op: Rn
    5616          12 :       op = getAddrMode6DupAddressOpValue(MI, 3, Fixups, STI);
    5617          12 :       Value |= (op & UINT64_C(15)) << 16;
    5618          12 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5619          12 :       break;
    5620             :     }
    5621             :     case ARM::VLD3DUPd16_UPD:
    5622             :     case ARM::VLD3DUPd32_UPD:
    5623             :     case ARM::VLD3DUPd8_UPD:
    5624             :     case ARM::VLD3DUPq16_UPD:
    5625             :     case ARM::VLD3DUPq32_UPD:
    5626             :     case ARM::VLD3DUPq8_UPD: {
    5627             :       // op: Vd
    5628          24 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5629          24 :       Value |= (op & UINT64_C(16)) << 18;
    5630          24 :       Value |= (op & UINT64_C(15)) << 12;
    5631             :       // op: Rn
    5632          24 :       op = getAddrMode6DupAddressOpValue(MI, 4, Fixups, STI);
    5633          24 :       Value |= (op & UINT64_C(15)) << 16;
    5634             :       // op: Rm
    5635             :       op = getAddrMode6OffsetOpValue(MI, 6, Fixups, STI);
    5636          24 :       Value |= op & UINT64_C(15);
    5637          24 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5638          24 :       break;
    5639             :     }
    5640             :     case ARM::VLD4DUPd32:
    5641             :     case ARM::VLD4DUPq32: {
    5642             :       // op: Vd
    5643           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5644           8 :       Value |= (op & UINT64_C(16)) << 18;
    5645           8 :       Value |= (op & UINT64_C(15)) << 12;
    5646             :       // op: Rn
    5647           8 :       op = getAddrMode6DupAddressOpValue(MI, 4, Fixups, STI);
    5648           8 :       Value |= (op & UINT64_C(15)) << 16;
    5649           8 :       Value |= (op & UINT64_C(32)) << 1;
    5650           8 :       Value |= op & UINT64_C(16);
    5651           8 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5652           8 :       break;
    5653             :     }
    5654             :     case ARM::VLD4DUPd16:
    5655             :     case ARM::VLD4DUPd8:
    5656             :     case ARM::VLD4DUPq16:
    5657             :     case ARM::VLD4DUPq8: {
    5658             :       // op: Vd
    5659          12 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5660          12 :       Value |= (op & UINT64_C(16)) << 18;
    5661          12 :       Value |= (op & UINT64_C(15)) << 12;
    5662             :       // op: Rn
    5663          12 :       op = getAddrMode6DupAddressOpValue(MI, 4, Fixups, STI);
    5664          12 :       Value |= (op & UINT64_C(15)) << 16;
    5665          12 :       Value |= op & UINT64_C(16);
    5666          12 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5667          12 :       break;
    5668             :     }
    5669             :     case ARM::VLD4DUPd32_UPD:
    5670             :     case ARM::VLD4DUPq32_UPD: {
    5671             :       // op: Vd
    5672          16 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5673          16 :       Value |= (op & UINT64_C(16)) << 18;
    5674          16 :       Value |= (op & UINT64_C(15)) << 12;
    5675             :       // op: Rn
    5676          16 :       op = getAddrMode6DupAddressOpValue(MI, 5, Fixups, STI);
    5677          16 :       Value |= (op & UINT64_C(15)) << 16;
    5678          16 :       Value |= (op & UINT64_C(32)) << 1;
    5679          16 :       Value |= op & UINT64_C(16);
    5680             :       // op: Rm
    5681             :       op = getAddrMode6OffsetOpValue(MI, 7, Fixups, STI);
    5682          16 :       Value |= op & UINT64_C(15);
    5683          16 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5684          16 :       break;
    5685             :     }
    5686             :     case ARM::VLD4DUPd16_UPD:
    5687             :     case ARM::VLD4DUPd8_UPD:
    5688             :     case ARM::VLD4DUPq16_UPD:
    5689             :     case ARM::VLD4DUPq8_UPD: {
    5690             :       // op: Vd
    5691          24 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5692          24 :       Value |= (op & UINT64_C(16)) << 18;
    5693          24 :       Value |= (op & UINT64_C(15)) << 12;
    5694             :       // op: Rn
    5695          24 :       op = getAddrMode6DupAddressOpValue(MI, 5, Fixups, STI);
    5696          24 :       Value |= (op & UINT64_C(15)) << 16;
    5697          24 :       Value |= op & UINT64_C(16);
    5698             :       // op: Rm
    5699             :       op = getAddrMode6OffsetOpValue(MI, 7, Fixups, STI);
    5700          24 :       Value |= op & UINT64_C(15);
    5701          24 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5702          24 :       break;
    5703             :     }
    5704             :     case ARM::VLD1LNd32: {
    5705             :       // op: Vd
    5706           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5707           6 :       Value |= (op & UINT64_C(16)) << 18;
    5708           6 :       Value |= (op & UINT64_C(15)) << 12;
    5709             :       // op: Rn
    5710           6 :       op = getAddrMode6OneLane32AddressOpValue(MI, 1, Fixups, STI);
    5711           6 :       Value |= (op & UINT64_C(15)) << 16;
    5712           6 :       Value |= op & UINT64_C(48);
    5713             :       // op: lane
    5714           6 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    5715           6 :       Value |= (op & UINT64_C(1)) << 7;
    5716           6 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    5717           6 :       break;
    5718             :     }
    5719             :     case ARM::VMOVv16i8:
    5720             :     case ARM::VMOVv1i64:
    5721             :     case ARM::VMOVv2f32:
    5722             :     case ARM::VMOVv2i64:
    5723             :     case ARM::VMOVv4f32:
    5724             :     case ARM::VMOVv8i8: {
    5725             :       // op: Vd
    5726          56 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5727          56 :       Value |= (op & UINT64_C(16)) << 18;
    5728          56 :       Value |= (op & UINT64_C(15)) << 12;
    5729             :       // op: SIMM
    5730          56 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5731          56 :       Value |= (op & UINT64_C(128)) << 17;
    5732          56 :       Value |= (op & UINT64_C(112)) << 12;
    5733          56 :       Value |= op & UINT64_C(15);
    5734          56 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5735          56 :       break;
    5736             :     }
    5737             :     case ARM::VBICiv2i32:
    5738             :     case ARM::VBICiv4i32:
    5739             :     case ARM::VORRiv2i32:
    5740             :     case ARM::VORRiv4i32: {
    5741             :       // op: Vd
    5742          19 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5743          19 :       Value |= (op & UINT64_C(16)) << 18;
    5744          19 :       Value |= (op & UINT64_C(15)) << 12;
    5745             :       // op: SIMM
    5746          19 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5747          19 :       Value |= (op & UINT64_C(128)) << 17;
    5748          19 :       Value |= (op & UINT64_C(112)) << 12;
    5749          19 :       Value |= op & UINT64_C(1536);
    5750          19 :       Value |= op & UINT64_C(15);
    5751          19 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5752          19 :       break;
    5753             :     }
    5754             :     case ARM::VMOVv2i32:
    5755             :     case ARM::VMOVv4i32:
    5756             :     case ARM::VMVNv2i32:
    5757             :     case ARM::VMVNv4i32: {
    5758             :       // op: Vd
    5759          58 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5760          58 :       Value |= (op & UINT64_C(16)) << 18;
    5761          58 :       Value |= (op & UINT64_C(15)) << 12;
    5762             :       // op: SIMM
    5763          58 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5764          58 :       Value |= (op & UINT64_C(128)) << 17;
    5765          58 :       Value |= (op & UINT64_C(112)) << 12;
    5766          58 :       Value |= op & UINT64_C(3840);
    5767          58 :       Value |= op & UINT64_C(15);
    5768          58 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5769          58 :       break;
    5770             :     }
    5771             :     case ARM::VBICiv4i16:
    5772             :     case ARM::VBICiv8i16:
    5773             :     case ARM::VMOVv4i16:
    5774             :     case ARM::VMOVv8i16:
    5775             :     case ARM::VMVNv4i16:
    5776             :     case ARM::VMVNv8i16:
    5777             :     case ARM::VORRiv4i16:
    5778             :     case ARM::VORRiv8i16: {
    5779             :       // op: Vd
    5780          36 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5781          36 :       Value |= (op & UINT64_C(16)) << 18;
    5782          36 :       Value |= (op & UINT64_C(15)) << 12;
    5783             :       // op: SIMM
    5784          36 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5785          36 :       Value |= (op & UINT64_C(128)) << 17;
    5786          36 :       Value |= (op & UINT64_C(112)) << 12;
    5787          36 :       Value |= op & UINT64_C(512);
    5788          36 :       Value |= op & UINT64_C(15);
    5789          36 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5790          36 :       break;
    5791             :     }
    5792             :     case ARM::VQSHLsiv4i16:
    5793             :     case ARM::VQSHLsiv8i16:
    5794             :     case ARM::VQSHLsuv4i16:
    5795             :     case ARM::VQSHLsuv8i16:
    5796             :     case ARM::VQSHLuiv4i16:
    5797             :     case ARM::VQSHLuiv8i16:
    5798             :     case ARM::VSHLLsv4i32:
    5799             :     case ARM::VSHLLuv4i32:
    5800             :     case ARM::VSHLiv4i16:
    5801             :     case ARM::VSHLiv8i16: {
    5802             :       // op: Vd
    5803          22 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5804          22 :       Value |= (op & UINT64_C(16)) << 18;
    5805          22 :       Value |= (op & UINT64_C(15)) << 12;
    5806             :       // op: Vm
    5807          22 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5808          22 :       Value |= (op & UINT64_C(16)) << 1;
    5809          22 :       Value |= op & UINT64_C(15);
    5810             :       // op: SIMM
    5811          22 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    5812          22 :       Value |= (op & UINT64_C(15)) << 16;
    5813          22 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5814          22 :       break;
    5815             :     }
    5816             :     case ARM::VQSHLsiv2i32:
    5817             :     case ARM::VQSHLsiv4i32:
    5818             :     case ARM::VQSHLsuv2i32:
    5819             :     case ARM::VQSHLsuv4i32:
    5820             :     case ARM::VQSHLuiv2i32:
    5821             :     case ARM::VQSHLuiv4i32:
    5822             :     case ARM::VSHLLsv2i64:
    5823             :     case ARM::VSHLLuv2i64:
    5824             :     case ARM::VSHLiv2i32:
    5825             :     case ARM::VSHLiv4i32: {
    5826             :       // op: Vd
    5827          22 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5828          22 :       Value |= (op & UINT64_C(16)) << 18;
    5829          22 :       Value |= (op & UINT64_C(15)) << 12;
    5830             :       // op: Vm
    5831          22 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5832          22 :       Value |= (op & UINT64_C(16)) << 1;
    5833          22 :       Value |= op & UINT64_C(15);
    5834             :       // op: SIMM
    5835          22 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    5836          22 :       Value |= (op & UINT64_C(31)) << 16;
    5837          22 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5838          22 :       break;
    5839             :     }
    5840             :     case ARM::VQSHLsiv1i64:
    5841             :     case ARM::VQSHLsiv2i64:
    5842             :     case ARM::VQSHLsuv1i64:
    5843             :     case ARM::VQSHLsuv2i64:
    5844             :     case ARM::VQSHLuiv1i64:
    5845             :     case ARM::VQSHLuiv2i64:
    5846             :     case ARM::VSHLiv1i64:
    5847             :     case ARM::VSHLiv2i64: {
    5848             :       // op: Vd
    5849          18 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5850          18 :       Value |= (op & UINT64_C(16)) << 18;
    5851          18 :       Value |= (op & UINT64_C(15)) << 12;
    5852             :       // op: Vm
    5853          18 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5854          18 :       Value |= (op & UINT64_C(16)) << 1;
    5855          18 :       Value |= op & UINT64_C(15);
    5856             :       // op: SIMM
    5857          18 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    5858          18 :       Value |= (op & UINT64_C(63)) << 16;
    5859          18 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5860          18 :       break;
    5861             :     }
    5862             :     case ARM::VQSHLsiv16i8:
    5863             :     case ARM::VQSHLsiv8i8:
    5864             :     case ARM::VQSHLsuv16i8:
    5865             :     case ARM::VQSHLsuv8i8:
    5866             :     case ARM::VQSHLuiv16i8:
    5867             :     case ARM::VQSHLuiv8i8:
    5868             :     case ARM::VSHLLsv8i16:
    5869             :     case ARM::VSHLLuv8i16:
    5870             :     case ARM::VSHLiv16i8:
    5871             :     case ARM::VSHLiv8i8: {
    5872             :       // op: Vd
    5873          22 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5874          22 :       Value |= (op & UINT64_C(16)) << 18;
    5875          22 :       Value |= (op & UINT64_C(15)) << 12;
    5876             :       // op: Vm
    5877          22 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5878          22 :       Value |= (op & UINT64_C(16)) << 1;
    5879          22 :       Value |= op & UINT64_C(15);
    5880             :       // op: SIMM
    5881          22 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    5882          22 :       Value |= (op & UINT64_C(7)) << 16;
    5883          22 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5884          22 :       break;
    5885             :     }
    5886             :     case ARM::VCVTf2xsd:
    5887             :     case ARM::VCVTf2xsq:
    5888             :     case ARM::VCVTf2xud:
    5889             :     case ARM::VCVTf2xuq:
    5890             :     case ARM::VCVTh2xsd:
    5891             :     case ARM::VCVTh2xsq:
    5892             :     case ARM::VCVTh2xud:
    5893             :     case ARM::VCVTh2xuq:
    5894             :     case ARM::VCVTxs2fd:
    5895             :     case ARM::VCVTxs2fq:
    5896             :     case ARM::VCVTxs2hd:
    5897             :     case ARM::VCVTxs2hq:
    5898             :     case ARM::VCVTxu2fd:
    5899             :     case ARM::VCVTxu2fq:
    5900             :     case ARM::VCVTxu2hd:
    5901             :     case ARM::VCVTxu2hq: {
    5902             :       // op: Vd
    5903          56 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5904          56 :       Value |= (op & UINT64_C(16)) << 18;
    5905          56 :       Value |= (op & UINT64_C(15)) << 12;
    5906             :       // op: Vm
    5907          56 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5908          56 :       Value |= (op & UINT64_C(16)) << 1;
    5909          56 :       Value |= op & UINT64_C(15);
    5910             :       // op: SIMM
    5911          56 :       op = getNEONVcvtImm32OpValue(MI, 2, Fixups, STI);
    5912          56 :       Value |= (op & UINT64_C(63)) << 16;
    5913          56 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5914          56 :       break;
    5915             :     }
    5916             :     case ARM::VQRSHRNsv4i16:
    5917             :     case ARM::VQRSHRNuv4i16:
    5918             :     case ARM::VQRSHRUNv4i16:
    5919             :     case ARM::VQSHRNsv4i16:
    5920             :     case ARM::VQSHRNuv4i16:
    5921             :     case ARM::VQSHRUNv4i16:
    5922             :     case ARM::VRSHRNv4i16:
    5923             :     case ARM::VRSHRsv4i16:
    5924             :     case ARM::VRSHRsv8i16:
    5925             :     case ARM::VRSHRuv4i16:
    5926             :     case ARM::VRSHRuv8i16:
    5927             :     case ARM::VSHRNv4i16:
    5928             :     case ARM::VSHRsv4i16:
    5929             :     case ARM::VSHRsv8i16:
    5930             :     case ARM::VSHRuv4i16:
    5931             :     case ARM::VSHRuv8i16: {
    5932             :       // op: Vd
    5933          46 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5934          46 :       Value |= (op & UINT64_C(16)) << 18;
    5935          46 :       Value |= (op & UINT64_C(15)) << 12;
    5936             :       // op: Vm
    5937          46 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5938          46 :       Value |= (op & UINT64_C(16)) << 1;
    5939          46 :       Value |= op & UINT64_C(15);
    5940             :       // op: SIMM
    5941          46 :       op = getShiftRight16Imm(MI, 2, Fixups, STI);
    5942          46 :       Value |= (op & UINT64_C(15)) << 16;
    5943          46 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5944          46 :       break;
    5945             :     }
    5946             :     case ARM::VQRSHRNsv2i32:
    5947             :     case ARM::VQRSHRNuv2i32:
    5948             :     case ARM::VQRSHRUNv2i32:
    5949             :     case ARM::VQSHRNsv2i32:
    5950             :     case ARM::VQSHRNuv2i32:
    5951             :     case ARM::VQSHRUNv2i32:
    5952             :     case ARM::VRSHRNv2i32:
    5953             :     case ARM::VRSHRsv2i32:
    5954             :     case ARM::VRSHRsv4i32:
    5955             :     case ARM::VRSHRuv2i32:
    5956             :     case ARM::VRSHRuv4i32:
    5957             :     case ARM::VSHRNv2i32:
    5958             :     case ARM::VSHRsv2i32:
    5959             :     case ARM::VSHRsv4i32:
    5960             :     case ARM::VSHRuv2i32:
    5961             :     case ARM::VSHRuv4i32: {
    5962             :       // op: Vd
    5963          46 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5964          46 :       Value |= (op & UINT64_C(16)) << 18;
    5965          46 :       Value |= (op & UINT64_C(15)) << 12;
    5966             :       // op: Vm
    5967          46 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5968          46 :       Value |= (op & UINT64_C(16)) << 1;
    5969          46 :       Value |= op & UINT64_C(15);
    5970             :       // op: SIMM
    5971          46 :       op = getShiftRight32Imm(MI, 2, Fixups, STI);
    5972          46 :       Value |= (op & UINT64_C(31)) << 16;
    5973          46 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5974          46 :       break;
    5975             :     }
    5976             :     case ARM::VRSHRsv1i64:
    5977             :     case ARM::VRSHRsv2i64:
    5978             :     case ARM::VRSHRuv1i64:
    5979             :     case ARM::VRSHRuv2i64:
    5980             :     case ARM::VSHRsv1i64:
    5981             :     case ARM::VSHRsv2i64:
    5982             :     case ARM::VSHRuv1i64:
    5983             :     case ARM::VSHRuv2i64: {
    5984             :       // op: Vd
    5985          28 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    5986          28 :       Value |= (op & UINT64_C(16)) << 18;
    5987          28 :       Value |= (op & UINT64_C(15)) << 12;
    5988             :       // op: Vm
    5989          28 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    5990          28 :       Value |= (op & UINT64_C(16)) << 1;
    5991          28 :       Value |= op & UINT64_C(15);
    5992             :       // op: SIMM
    5993          28 :       op = getShiftRight64Imm(MI, 2, Fixups, STI);
    5994          28 :       Value |= (op & UINT64_C(63)) << 16;
    5995          28 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    5996          28 :       break;
    5997             :     }
    5998             :     case ARM::VQRSHRNsv8i8:
    5999             :     case ARM::VQRSHRNuv8i8:
    6000             :     case ARM::VQRSHRUNv8i8:
    6001             :     case ARM::VQSHRNsv8i8:
    6002             :     case ARM::VQSHRNuv8i8:
    6003             :     case ARM::VQSHRUNv8i8:
    6004             :     case ARM::VRSHRNv8i8:
    6005             :     case ARM::VRSHRsv16i8:
    6006             :     case ARM::VRSHRsv8i8:
    6007             :     case ARM::VRSHRuv16i8:
    6008             :     case ARM::VRSHRuv8i8:
    6009             :     case ARM::VSHRNv8i8:
    6010             :     case ARM::VSHRsv16i8:
    6011             :     case ARM::VSHRsv8i8:
    6012             :     case ARM::VSHRuv16i8:
    6013             :     case ARM::VSHRuv8i8: {
    6014             :       // op: Vd
    6015          46 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6016          46 :       Value |= (op & UINT64_C(16)) << 18;
    6017          46 :       Value |= (op & UINT64_C(15)) << 12;
    6018             :       // op: Vm
    6019          46 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6020          46 :       Value |= (op & UINT64_C(16)) << 1;
    6021          46 :       Value |= op & UINT64_C(15);
    6022             :       // op: SIMM
    6023          46 :       op = getShiftRight8Imm(MI, 2, Fixups, STI);
    6024          46 :       Value |= (op & UINT64_C(7)) << 16;
    6025          46 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6026          46 :       break;
    6027             :     }
    6028             :     case ARM::VDUPLN32d:
    6029             :     case ARM::VDUPLN32q: {
    6030             :       // op: Vd
    6031           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6032           6 :       Value |= (op & UINT64_C(16)) << 18;
    6033           6 :       Value |= (op & UINT64_C(15)) << 12;
    6034             :       // op: Vm
    6035           6 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6036           6 :       Value |= (op & UINT64_C(16)) << 1;
    6037           6 :       Value |= op & UINT64_C(15);
    6038             :       // op: lane
    6039           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6040           6 :       Value |= (op & UINT64_C(1)) << 19;
    6041           6 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6042           6 :       break;
    6043             :     }
    6044             :     case ARM::VDUPLN16d:
    6045             :     case ARM::VDUPLN16q: {
    6046             :       // op: Vd
    6047           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6048           6 :       Value |= (op & UINT64_C(16)) << 18;
    6049           6 :       Value |= (op & UINT64_C(15)) << 12;
    6050             :       // op: Vm
    6051           6 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6052           6 :       Value |= (op & UINT64_C(16)) << 1;
    6053           6 :       Value |= op & UINT64_C(15);
    6054             :       // op: lane
    6055           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6056           6 :       Value |= (op & UINT64_C(3)) << 18;
    6057           6 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6058           6 :       break;
    6059             :     }
    6060             :     case ARM::VDUPLN8d:
    6061             :     case ARM::VDUPLN8q: {
    6062             :       // op: Vd
    6063           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6064           6 :       Value |= (op & UINT64_C(16)) << 18;
    6065           6 :       Value |= (op & UINT64_C(15)) << 12;
    6066             :       // op: Vm
    6067           6 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6068           6 :       Value |= (op & UINT64_C(16)) << 1;
    6069           6 :       Value |= op & UINT64_C(15);
    6070             :       // op: lane
    6071           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6072           6 :       Value |= (op & UINT64_C(7)) << 17;
    6073           6 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6074           6 :       break;
    6075             :     }
    6076             :     case ARM::AESIMC:
    6077             :     case ARM::AESMC:
    6078             :     case ARM::SHA1H:
    6079             :     case ARM::VABSfd:
    6080             :     case ARM::VABSfq:
    6081             :     case ARM::VABShd:
    6082             :     case ARM::VABShq:
    6083             :     case ARM::VABSv16i8:
    6084             :     case ARM::VABSv2i32:
    6085             :     case ARM::VABSv4i16:
    6086             :     case ARM::VABSv4i32:
    6087             :     case ARM::VABSv8i16:
    6088             :     case ARM::VABSv8i8:
    6089             :     case ARM::VCEQzv16i8:
    6090             :     case ARM::VCEQzv2f32:
    6091             :     case ARM::VCEQzv2i32:
    6092             :     case ARM::VCEQzv4f16:
    6093             :     case ARM::VCEQzv4f32:
    6094             :     case ARM::VCEQzv4i16:
    6095             :     case ARM::VCEQzv4i32:
    6096             :     case ARM::VCEQzv8f16:
    6097             :     case ARM::VCEQzv8i16:
    6098             :     case ARM::VCEQzv8i8:
    6099             :     case ARM::VCGEzv16i8:
    6100             :     case ARM::VCGEzv2f32:
    6101             :     case ARM::VCGEzv2i32:
    6102             :     case ARM::VCGEzv4f16:
    6103             :     case ARM::VCGEzv4f32:
    6104             :     case ARM::VCGEzv4i16:
    6105             :     case ARM::VCGEzv4i32:
    6106             :     case ARM::VCGEzv8f16:
    6107             :     case ARM::VCGEzv8i16:
    6108             :     case ARM::VCGEzv8i8:
    6109             :     case ARM::VCGTzv16i8:
    6110             :     case ARM::VCGTzv2f32:
    6111             :     case ARM::VCGTzv2i32:
    6112             :     case ARM::VCGTzv4f16:
    6113             :     case ARM::VCGTzv4f32:
    6114             :     case ARM::VCGTzv4i16:
    6115             :     case ARM::VCGTzv4i32:
    6116             :     case ARM::VCGTzv8f16:
    6117             :     case ARM::VCGTzv8i16:
    6118             :     case ARM::VCGTzv8i8:
    6119             :     case ARM::VCLEzv16i8:
    6120             :     case ARM::VCLEzv2f32:
    6121             :     case ARM::VCLEzv2i32:
    6122             :     case ARM::VCLEzv4f16:
    6123             :     case ARM::VCLEzv4f32:
    6124             :     case ARM::VCLEzv4i16:
    6125             :     case ARM::VCLEzv4i32:
    6126             :     case ARM::VCLEzv8f16:
    6127             :     case ARM::VCLEzv8i16:
    6128             :     case ARM::VCLEzv8i8:
    6129             :     case ARM::VCLSv16i8:
    6130             :     case ARM::VCLSv2i32:
    6131             :     case ARM::VCLSv4i16:
    6132             :     case ARM::VCLSv4i32:
    6133             :     case ARM::VCLSv8i16:
    6134             :     case ARM::VCLSv8i8:
    6135             :     case ARM::VCLTzv16i8:
    6136             :     case ARM::VCLTzv2f32:
    6137             :     case ARM::VCLTzv2i32:
    6138             :     case ARM::VCLTzv4f16:
    6139             :     case ARM::VCLTzv4f32:
    6140             :     case ARM::VCLTzv4i16:
    6141             :     case ARM::VCLTzv4i32:
    6142             :     case ARM::VCLTzv8f16:
    6143             :     case ARM::VCLTzv8i16:
    6144             :     case ARM::VCLTzv8i8:
    6145             :     case ARM::VCLZv16i8:
    6146             :     case ARM::VCLZv2i32:
    6147             :     case ARM::VCLZv4i16:
    6148             :     case ARM::VCLZv4i32:
    6149             :     case ARM::VCLZv8i16:
    6150             :     case ARM::VCLZv8i8:
    6151             :     case ARM::VCNTd:
    6152             :     case ARM::VCNTq:
    6153             :     case ARM::VCVTf2h:
    6154             :     case ARM::VCVTf2sd:
    6155             :     case ARM::VCVTf2sq:
    6156             :     case ARM::VCVTf2ud:
    6157             :     case ARM::VCVTf2uq:
    6158             :     case ARM::VCVTh2f:
    6159             :     case ARM::VCVTh2sd:
    6160             :     case ARM::VCVTh2sq:
    6161             :     case ARM::VCVTh2ud:
    6162             :     case ARM::VCVTh2uq:
    6163             :     case ARM::VCVTs2fd:
    6164             :     case ARM::VCVTs2fq:
    6165             :     case ARM::VCVTs2hd:
    6166             :     case ARM::VCVTs2hq:
    6167             :     case ARM::VCVTu2fd:
    6168             :     case ARM::VCVTu2fq:
    6169             :     case ARM::VCVTu2hd:
    6170             :     case ARM::VCVTu2hq:
    6171             :     case ARM::VMOVLsv2i64:
    6172             :     case ARM::VMOVLsv4i32:
    6173             :     case ARM::VMOVLsv8i16:
    6174             :     case ARM::VMOVLuv2i64:
    6175             :     case ARM::VMOVLuv4i32:
    6176             :     case ARM::VMOVLuv8i16:
    6177             :     case ARM::VMOVNv2i32:
    6178             :     case ARM::VMOVNv4i16:
    6179             :     case ARM::VMOVNv8i8:
    6180             :     case ARM::VMVNd:
    6181             :     case ARM::VMVNq:
    6182             :     case ARM::VNEGf32q:
    6183             :     case ARM::VNEGfd:
    6184             :     case ARM::VNEGhd:
    6185             :     case ARM::VNEGhq:
    6186             :     case ARM::VNEGs16d:
    6187             :     case ARM::VNEGs16q:
    6188             :     case ARM::VNEGs32d:
    6189             :     case ARM::VNEGs32q:
    6190             :     case ARM::VNEGs8d:
    6191             :     case ARM::VNEGs8q:
    6192             :     case ARM::VPADDLsv16i8:
    6193             :     case ARM::VPADDLsv2i32:
    6194             :     case ARM::VPADDLsv4i16:
    6195             :     case ARM::VPADDLsv4i32:
    6196             :     case ARM::VPADDLsv8i16:
    6197             :     case ARM::VPADDLsv8i8:
    6198             :     case ARM::VPADDLuv16i8:
    6199             :     case ARM::VPADDLuv2i32:
    6200             :     case ARM::VPADDLuv4i16:
    6201             :     case ARM::VPADDLuv4i32:
    6202             :     case ARM::VPADDLuv8i16:
    6203             :     case ARM::VPADDLuv8i8:
    6204             :     case ARM::VQABSv16i8:
    6205             :     case ARM::VQABSv2i32:
    6206             :     case ARM::VQABSv4i16:
    6207             :     case ARM::VQABSv4i32:
    6208             :     case ARM::VQABSv8i16:
    6209             :     case ARM::VQABSv8i8:
    6210             :     case ARM::VQMOVNsuv2i32:
    6211             :     case ARM::VQMOVNsuv4i16:
    6212             :     case ARM::VQMOVNsuv8i8:
    6213             :     case ARM::VQMOVNsv2i32:
    6214             :     case ARM::VQMOVNsv4i16:
    6215             :     case ARM::VQMOVNsv8i8:
    6216             :     case ARM::VQMOVNuv2i32:
    6217             :     case ARM::VQMOVNuv4i16:
    6218             :     case ARM::VQMOVNuv8i8:
    6219             :     case ARM::VQNEGv16i8:
    6220             :     case ARM::VQNEGv2i32:
    6221             :     case ARM::VQNEGv4i16:
    6222             :     case ARM::VQNEGv4i32:
    6223             :     case ARM::VQNEGv8i16:
    6224             :     case ARM::VQNEGv8i8:
    6225             :     case ARM::VRECPEd:
    6226             :     case ARM::VRECPEfd:
    6227             :     case ARM::VRECPEfq:
    6228             :     case ARM::VRECPEhd:
    6229             :     case ARM::VRECPEhq:
    6230             :     case ARM::VRECPEq:
    6231             :     case ARM::VREV16d8:
    6232             :     case ARM::VREV16q8:
    6233             :     case ARM::VREV32d16:
    6234             :     case ARM::VREV32d8:
    6235             :     case ARM::VREV32q16:
    6236             :     case ARM::VREV32q8:
    6237             :     case ARM::VREV64d16:
    6238             :     case ARM::VREV64d32:
    6239             :     case ARM::VREV64d8:
    6240             :     case ARM::VREV64q16:
    6241             :     case ARM::VREV64q32:
    6242             :     case ARM::VREV64q8:
    6243             :     case ARM::VRSQRTEd:
    6244             :     case ARM::VRSQRTEfd:
    6245             :     case ARM::VRSQRTEfq:
    6246             :     case ARM::VRSQRTEhd:
    6247             :     case ARM::VRSQRTEhq:
    6248             :     case ARM::VRSQRTEq:
    6249             :     case ARM::VSHLLi16:
    6250             :     case ARM::VSHLLi32:
    6251             :     case ARM::VSHLLi8:
    6252             :     case ARM::VSWPd:
    6253             :     case ARM::VSWPq:
    6254             :     case ARM::VTRNd16:
    6255             :     case ARM::VTRNd32:
    6256             :     case ARM::VTRNd8:
    6257             :     case ARM::VTRNq16:
    6258             :     case ARM::VTRNq32:
    6259             :     case ARM::VTRNq8:
    6260             :     case ARM::VUZPd16:
    6261             :     case ARM::VUZPd8:
    6262             :     case ARM::VUZPq16:
    6263             :     case ARM::VUZPq32:
    6264             :     case ARM::VUZPq8:
    6265             :     case ARM::VZIPd16:
    6266             :     case ARM::VZIPd8:
    6267             :     case ARM::VZIPq16:
    6268             :     case ARM::VZIPq32:
    6269             :     case ARM::VZIPq8: {
    6270             :       // op: Vd
    6271         454 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6272         454 :       Value |= (op & UINT64_C(16)) << 18;
    6273         454 :       Value |= (op & UINT64_C(15)) << 12;
    6274             :       // op: Vm
    6275         454 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6276         454 :       Value |= (op & UINT64_C(16)) << 1;
    6277         454 :       Value |= op & UINT64_C(15);
    6278         454 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6279         454 :       break;
    6280             :     }
    6281             :     case ARM::VCVTANSDf:
    6282             :     case ARM::VCVTANSDh:
    6283             :     case ARM::VCVTANSQf:
    6284             :     case ARM::VCVTANSQh:
    6285             :     case ARM::VCVTANUDf:
    6286             :     case ARM::VCVTANUDh:
    6287             :     case ARM::VCVTANUQf:
    6288             :     case ARM::VCVTANUQh:
    6289             :     case ARM::VCVTMNSDf:
    6290             :     case ARM::VCVTMNSDh:
    6291             :     case ARM::VCVTMNSQf:
    6292             :     case ARM::VCVTMNSQh:
    6293             :     case ARM::VCVTMNUDf:
    6294             :     case ARM::VCVTMNUDh:
    6295             :     case ARM::VCVTMNUQf:
    6296             :     case ARM::VCVTMNUQh:
    6297             :     case ARM::VCVTNNSDf:
    6298             :     case ARM::VCVTNNSDh:
    6299             :     case ARM::VCVTNNSQf:
    6300             :     case ARM::VCVTNNSQh:
    6301             :     case ARM::VCVTNNUDf:
    6302             :     case ARM::VCVTNNUDh:
    6303             :     case ARM::VCVTNNUQf:
    6304             :     case ARM::VCVTNNUQh:
    6305             :     case ARM::VCVTPNSDf:
    6306             :     case ARM::VCVTPNSDh:
    6307             :     case ARM::VCVTPNSQf:
    6308             :     case ARM::VCVTPNSQh:
    6309             :     case ARM::VCVTPNUDf:
    6310             :     case ARM::VCVTPNUDh:
    6311             :     case ARM::VCVTPNUQf:
    6312             :     case ARM::VCVTPNUQh:
    6313             :     case ARM::VRINTANDf:
    6314             :     case ARM::VRINTANDh:
    6315             :     case ARM::VRINTANQf:
    6316             :     case ARM::VRINTANQh:
    6317             :     case ARM::VRINTMNDf:
    6318             :     case ARM::VRINTMNDh:
    6319             :     case ARM::VRINTMNQf:
    6320             :     case ARM::VRINTMNQh:
    6321             :     case ARM::VRINTNNDf:
    6322             :     case ARM::VRINTNNDh:
    6323             :     case ARM::VRINTNNQf:
    6324             :     case ARM::VRINTNNQh:
    6325             :     case ARM::VRINTPNDf:
    6326             :     case ARM::VRINTPNDh:
    6327             :     case ARM::VRINTPNQf:
    6328             :     case ARM::VRINTPNQh:
    6329             :     case ARM::VRINTXNDf:
    6330             :     case ARM::VRINTXNDh:
    6331             :     case ARM::VRINTXNQf:
    6332             :     case ARM::VRINTXNQh:
    6333             :     case ARM::VRINTZNDf:
    6334             :     case ARM::VRINTZNDh:
    6335             :     case ARM::VRINTZNQf:
    6336             :     case ARM::VRINTZNQh: {
    6337             :       // op: Vd
    6338         178 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6339         178 :       Value |= (op & UINT64_C(16)) << 18;
    6340         178 :       Value |= (op & UINT64_C(15)) << 12;
    6341             :       // op: Vm
    6342         178 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6343         178 :       Value |= (op & UINT64_C(16)) << 1;
    6344         178 :       Value |= op & UINT64_C(15);
    6345         178 :       Value = NEONThumb2V8PostEncoder(MI, Value, STI);
    6346         178 :       break;
    6347             :     }
    6348             :     case ARM::VSLIv4i16:
    6349             :     case ARM::VSLIv8i16: {
    6350             :       // op: Vd
    6351          12 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6352          12 :       Value |= (op & UINT64_C(16)) << 18;
    6353          12 :       Value |= (op & UINT64_C(15)) << 12;
    6354             :       // op: Vm
    6355          12 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6356          12 :       Value |= (op & UINT64_C(16)) << 1;
    6357          12 :       Value |= op & UINT64_C(15);
    6358             :       // op: SIMM
    6359          12 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    6360          12 :       Value |= (op & UINT64_C(15)) << 16;
    6361          12 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6362          12 :       break;
    6363             :     }
    6364             :     case ARM::VSLIv2i32:
    6365             :     case ARM::VSLIv4i32: {
    6366             :       // op: Vd
    6367          12 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6368          12 :       Value |= (op & UINT64_C(16)) << 18;
    6369          12 :       Value |= (op & UINT64_C(15)) << 12;
    6370             :       // op: Vm
    6371          12 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6372          12 :       Value |= (op & UINT64_C(16)) << 1;
    6373          12 :       Value |= op & UINT64_C(15);
    6374             :       // op: SIMM
    6375          12 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    6376          12 :       Value |= (op & UINT64_C(31)) << 16;
    6377          12 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6378          12 :       break;
    6379             :     }
    6380             :     case ARM::VSLIv1i64:
    6381             :     case ARM::VSLIv2i64: {
    6382             :       // op: Vd
    6383          12 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6384          12 :       Value |= (op & UINT64_C(16)) << 18;
    6385          12 :       Value |= (op & UINT64_C(15)) << 12;
    6386             :       // op: Vm
    6387          12 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6388          12 :       Value |= (op & UINT64_C(16)) << 1;
    6389          12 :       Value |= op & UINT64_C(15);
    6390             :       // op: SIMM
    6391          12 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    6392          12 :       Value |= (op & UINT64_C(63)) << 16;
    6393          12 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6394          12 :       break;
    6395             :     }
    6396             :     case ARM::VSLIv16i8:
    6397             :     case ARM::VSLIv8i8: {
    6398             :       // op: Vd
    6399          12 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6400          12 :       Value |= (op & UINT64_C(16)) << 18;
    6401          12 :       Value |= (op & UINT64_C(15)) << 12;
    6402             :       // op: Vm
    6403          12 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6404          12 :       Value |= (op & UINT64_C(16)) << 1;
    6405          12 :       Value |= op & UINT64_C(15);
    6406             :       // op: SIMM
    6407          12 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    6408          12 :       Value |= (op & UINT64_C(7)) << 16;
    6409          12 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6410          12 :       break;
    6411             :     }
    6412             :     case ARM::VRSRAsv4i16:
    6413             :     case ARM::VRSRAsv8i16:
    6414             :     case ARM::VRSRAuv4i16:
    6415             :     case ARM::VRSRAuv8i16:
    6416             :     case ARM::VSRAsv4i16:
    6417             :     case ARM::VSRAsv8i16:
    6418             :     case ARM::VSRAuv4i16:
    6419             :     case ARM::VSRAuv8i16:
    6420             :     case ARM::VSRIv4i16:
    6421             :     case ARM::VSRIv8i16: {
    6422             :       // op: Vd
    6423          52 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6424          52 :       Value |= (op & UINT64_C(16)) << 18;
    6425          52 :       Value |= (op & UINT64_C(15)) << 12;
    6426             :       // op: Vm
    6427          52 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6428          52 :       Value |= (op & UINT64_C(16)) << 1;
    6429          52 :       Value |= op & UINT64_C(15);
    6430             :       // op: SIMM
    6431          52 :       op = getShiftRight16Imm(MI, 3, Fixups, STI);
    6432          52 :       Value |= (op & UINT64_C(15)) << 16;
    6433          52 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6434          52 :       break;
    6435             :     }
    6436             :     case ARM::VRSRAsv2i32:
    6437             :     case ARM::VRSRAsv4i32:
    6438             :     case ARM::VRSRAuv2i32:
    6439             :     case ARM::VRSRAuv4i32:
    6440             :     case ARM::VSRAsv2i32:
    6441             :     case ARM::VSRAsv4i32:
    6442             :     case ARM::VSRAuv2i32:
    6443             :     case ARM::VSRAuv4i32:
    6444             :     case ARM::VSRIv2i32:
    6445             :     case ARM::VSRIv4i32: {
    6446             :       // op: Vd
    6447          52 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6448          52 :       Value |= (op & UINT64_C(16)) << 18;
    6449          52 :       Value |= (op & UINT64_C(15)) << 12;
    6450             :       // op: Vm
    6451          52 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6452          52 :       Value |= (op & UINT64_C(16)) << 1;
    6453          52 :       Value |= op & UINT64_C(15);
    6454             :       // op: SIMM
    6455          52 :       op = getShiftRight32Imm(MI, 3, Fixups, STI);
    6456          52 :       Value |= (op & UINT64_C(31)) << 16;
    6457          52 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6458          52 :       break;
    6459             :     }
    6460             :     case ARM::VRSRAsv1i64:
    6461             :     case ARM::VRSRAsv2i64:
    6462             :     case ARM::VRSRAuv1i64:
    6463             :     case ARM::VRSRAuv2i64:
    6464             :     case ARM::VSRAsv1i64:
    6465             :     case ARM::VSRAsv2i64:
    6466             :     case ARM::VSRAuv1i64:
    6467             :     case ARM::VSRAuv2i64:
    6468             :     case ARM::VSRIv1i64:
    6469             :     case ARM::VSRIv2i64: {
    6470             :       // op: Vd
    6471          52 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6472          52 :       Value |= (op & UINT64_C(16)) << 18;
    6473          52 :       Value |= (op & UINT64_C(15)) << 12;
    6474             :       // op: Vm
    6475          52 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6476          52 :       Value |= (op & UINT64_C(16)) << 1;
    6477          52 :       Value |= op & UINT64_C(15);
    6478             :       // op: SIMM
    6479          52 :       op = getShiftRight64Imm(MI, 3, Fixups, STI);
    6480          52 :       Value |= (op & UINT64_C(63)) << 16;
    6481          52 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6482          52 :       break;
    6483             :     }
    6484             :     case ARM::VRSRAsv16i8:
    6485             :     case ARM::VRSRAsv8i8:
    6486             :     case ARM::VRSRAuv16i8:
    6487             :     case ARM::VRSRAuv8i8:
    6488             :     case ARM::VSRAsv16i8:
    6489             :     case ARM::VSRAsv8i8:
    6490             :     case ARM::VSRAuv16i8:
    6491             :     case ARM::VSRAuv8i8:
    6492             :     case ARM::VSRIv16i8:
    6493             :     case ARM::VSRIv8i8: {
    6494             :       // op: Vd
    6495          52 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6496          52 :       Value |= (op & UINT64_C(16)) << 18;
    6497          52 :       Value |= (op & UINT64_C(15)) << 12;
    6498             :       // op: Vm
    6499          52 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6500          52 :       Value |= (op & UINT64_C(16)) << 1;
    6501          52 :       Value |= op & UINT64_C(15);
    6502             :       // op: SIMM
    6503          52 :       op = getShiftRight8Imm(MI, 3, Fixups, STI);
    6504          52 :       Value |= (op & UINT64_C(7)) << 16;
    6505          52 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6506          52 :       break;
    6507             :     }
    6508             :     case ARM::AESD:
    6509             :     case ARM::AESE:
    6510             :     case ARM::SHA1SU1:
    6511             :     case ARM::SHA256SU0:
    6512             :     case ARM::VPADALsv16i8:
    6513             :     case ARM::VPADALsv2i32:
    6514             :     case ARM::VPADALsv4i16:
    6515             :     case ARM::VPADALsv4i32:
    6516             :     case ARM::VPADALsv8i16:
    6517             :     case ARM::VPADALsv8i8:
    6518             :     case ARM::VPADALuv16i8:
    6519             :     case ARM::VPADALuv2i32:
    6520             :     case ARM::VPADALuv4i16:
    6521             :     case ARM::VPADALuv4i32:
    6522             :     case ARM::VPADALuv8i16:
    6523             :     case ARM::VPADALuv8i8: {
    6524             :       // op: Vd
    6525          32 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6526          32 :       Value |= (op & UINT64_C(16)) << 18;
    6527          32 :       Value |= (op & UINT64_C(15)) << 12;
    6528             :       // op: Vm
    6529          32 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6530          32 :       Value |= (op & UINT64_C(16)) << 1;
    6531          32 :       Value |= op & UINT64_C(15);
    6532          32 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6533          32 :       break;
    6534             :     }
    6535             :     case ARM::VFMALQ:
    6536             :     case ARM::VFMSLQ: {
    6537             :       // op: Vd
    6538           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6539           8 :       Value |= (op & UINT64_C(16)) << 18;
    6540           8 :       Value |= (op & UINT64_C(15)) << 12;
    6541             :       // op: Vn
    6542           8 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6543           8 :       Value |= (op & UINT64_C(15)) << 16;
    6544           8 :       Value |= (op & UINT64_C(16)) << 3;
    6545             :       // op: Vm
    6546           8 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6547           8 :       Value |= (op & UINT64_C(16)) << 1;
    6548           8 :       Value |= op & UINT64_C(15);
    6549           8 :       break;
    6550             :     }
    6551             :     case ARM::VEXTd32: {
    6552             :       // op: Vd
    6553           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6554           0 :       Value |= (op & UINT64_C(16)) << 18;
    6555           0 :       Value |= (op & UINT64_C(15)) << 12;
    6556             :       // op: Vn
    6557           0 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6558           0 :       Value |= (op & UINT64_C(15)) << 16;
    6559           0 :       Value |= (op & UINT64_C(16)) << 3;
    6560             :       // op: Vm
    6561           0 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6562           0 :       Value |= (op & UINT64_C(16)) << 1;
    6563           0 :       Value |= op & UINT64_C(15);
    6564             :       // op: index
    6565           0 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    6566           0 :       Value |= (op & UINT64_C(1)) << 10;
    6567           0 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6568           0 :       break;
    6569             :     }
    6570             :     case ARM::VEXTq64: {
    6571             :       // op: Vd
    6572           2 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6573           2 :       Value |= (op & UINT64_C(16)) << 18;
    6574           2 :       Value |= (op & UINT64_C(15)) << 12;
    6575             :       // op: Vn
    6576           2 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6577           2 :       Value |= (op & UINT64_C(15)) << 16;
    6578           2 :       Value |= (op & UINT64_C(16)) << 3;
    6579             :       // op: Vm
    6580           2 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6581           2 :       Value |= (op & UINT64_C(16)) << 1;
    6582           2 :       Value |= op & UINT64_C(15);
    6583             :       // op: index
    6584           2 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    6585           2 :       Value |= (op & UINT64_C(1)) << 11;
    6586           2 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6587           2 :       break;
    6588             :     }
    6589             :     case ARM::VEXTq8: {
    6590             :       // op: Vd
    6591           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6592           8 :       Value |= (op & UINT64_C(16)) << 18;
    6593           8 :       Value |= (op & UINT64_C(15)) << 12;
    6594             :       // op: Vn
    6595           8 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6596           8 :       Value |= (op & UINT64_C(15)) << 16;
    6597           8 :       Value |= (op & UINT64_C(16)) << 3;
    6598             :       // op: Vm
    6599           8 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6600           8 :       Value |= (op & UINT64_C(16)) << 1;
    6601           8 :       Value |= op & UINT64_C(15);
    6602             :       // op: index
    6603           8 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    6604           8 :       Value |= (op & UINT64_C(15)) << 8;
    6605           8 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6606           8 :       break;
    6607             :     }
    6608             :     case ARM::VEXTq32: {
    6609             :       // op: Vd
    6610           4 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6611           4 :       Value |= (op & UINT64_C(16)) << 18;
    6612           4 :       Value |= (op & UINT64_C(15)) << 12;
    6613             :       // op: Vn
    6614           4 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6615           4 :       Value |= (op & UINT64_C(15)) << 16;
    6616           4 :       Value |= (op & UINT64_C(16)) << 3;
    6617             :       // op: Vm
    6618           4 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6619           4 :       Value |= (op & UINT64_C(16)) << 1;
    6620           4 :       Value |= op & UINT64_C(15);
    6621             :       // op: index
    6622           4 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    6623           4 :       Value |= (op & UINT64_C(3)) << 10;
    6624           4 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6625           4 :       break;
    6626             :     }
    6627             :     case ARM::VEXTd16: {
    6628             :       // op: Vd
    6629           4 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6630           4 :       Value |= (op & UINT64_C(16)) << 18;
    6631           4 :       Value |= (op & UINT64_C(15)) << 12;
    6632             :       // op: Vn
    6633           4 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6634           4 :       Value |= (op & UINT64_C(15)) << 16;
    6635           4 :       Value |= (op & UINT64_C(16)) << 3;
    6636             :       // op: Vm
    6637           4 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6638           4 :       Value |= (op & UINT64_C(16)) << 1;
    6639           4 :       Value |= op & UINT64_C(15);
    6640             :       // op: index
    6641           4 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    6642           4 :       Value |= (op & UINT64_C(3)) << 9;
    6643           4 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6644           4 :       break;
    6645             :     }
    6646             :     case ARM::VEXTd8: {
    6647             :       // op: Vd
    6648           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6649           8 :       Value |= (op & UINT64_C(16)) << 18;
    6650           8 :       Value |= (op & UINT64_C(15)) << 12;
    6651             :       // op: Vn
    6652           8 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6653           8 :       Value |= (op & UINT64_C(15)) << 16;
    6654           8 :       Value |= (op & UINT64_C(16)) << 3;
    6655             :       // op: Vm
    6656           8 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6657           8 :       Value |= (op & UINT64_C(16)) << 1;
    6658           8 :       Value |= op & UINT64_C(15);
    6659             :       // op: index
    6660           8 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    6661           8 :       Value |= (op & UINT64_C(7)) << 8;
    6662           8 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6663           8 :       break;
    6664             :     }
    6665             :     case ARM::VEXTq16: {
    6666             :       // op: Vd
    6667           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6668           0 :       Value |= (op & UINT64_C(16)) << 18;
    6669           0 :       Value |= (op & UINT64_C(15)) << 12;
    6670             :       // op: Vn
    6671           0 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6672           0 :       Value |= (op & UINT64_C(15)) << 16;
    6673           0 :       Value |= (op & UINT64_C(16)) << 3;
    6674             :       // op: Vm
    6675           0 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6676           0 :       Value |= (op & UINT64_C(16)) << 1;
    6677           0 :       Value |= op & UINT64_C(15);
    6678             :       // op: index
    6679           0 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    6680           0 :       Value |= (op & UINT64_C(7)) << 9;
    6681           0 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    6682           0 :       break;
    6683             :     }
    6684             :     case ARM::VCADDv2f32:
    6685             :     case ARM::VCADDv4f16:
    6686             :     case ARM::VCADDv4f32:
    6687             :     case ARM::VCADDv8f16: {
    6688             :       // op: Vd
    6689          16 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    6690          16 :       Value |= (op & UINT64_C(16)) << 18;
    6691          16 :       Value |= (op & UINT64_C(15)) << 12;
    6692             :       // op: Vn
    6693          16 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    6694          16 :       Value |= (op & UINT64_C(15)) << 16;
    6695          16 :       Value |= (op & UINT64_C(16)) << 3;
    6696             :       // op: Vm
    6697          16 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    6698          16 :       Value |= (op & UINT64_C(16)) << 1;
    6699          16 :       Value |= op & UINT64_C(15);
    6700             :       // op: rot
    6701          16 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    6702          16 :       Value |= (op & UINT64_C(1)) << 24;
    6703          16 :       break;
    6704             :     }
    6705             :     case ARM::VABDLsv2i64:
    6706             :     case ARM::VABDLsv4i32:
    6707             :     case ARM::VABDLsv8i16:
    6708             :     case ARM::VABDLuv2i64:
    6709             :     case ARM::VABDLuv4i32:
    6710             :     case ARM::VABDLuv8i16:
    6711             :     case ARM::VABDfd:
    6712             :     case ARM::VABDfq:
    6713             :     case ARM::VABDhd:
    6714             :     case ARM::VABDhq:
    6715             :     case ARM::VABDsv16i8:
    6716             :     case ARM::VABDsv2i32:
    6717             :     case ARM::VABDsv4i16:
    6718             :     case ARM::VABDsv4i32:
    6719             :     case ARM::VABDsv8i16:
    6720             :     case ARM::VABDsv8i8:
    6721             :     case ARM::VABDuv16i8:
    6722             :     case ARM::VABDuv2i32:
    6723             :     case ARM::VABDuv4i16:
    6724             :     case ARM::VABDuv4i32:
    6725             :     case ARM::VABDuv8i16:
    6726             :     case ARM::VABDuv8i8:
    6727             :     case ARM::VACGEfd:
    6728             :     case ARM::VACGEfq:
    6729             :     case ARM::VACGEhd:
    6730             :     case ARM::VACGEhq:
    6731             :     case ARM::VACGTfd:
    6732             :     case ARM::VACGTfq:
    6733             :     case ARM::VACGThd:
    6734             :     case ARM::VACGThq:
    6735             :     case ARM::VADDHNv2i32:
    6736             :     case ARM::VADDHNv4i16:
    6737             :     case ARM::VADDHNv8i8:
    6738             :     case ARM::VADDLsv2i64:
    6739             :     case ARM::VADDLsv4i32:
    6740             :     case ARM::VADDLsv8i16:
    6741             :     case ARM::VADDLuv2i64:
    6742             :     case ARM::VADDLuv4i32:
    6743             :     case ARM::VADDLuv8i16:
    6744             :     case ARM::VADDWsv2i64:
    6745             :     case ARM::VADDWsv4i32:
    6746             :     case ARM::VADDWsv8i16:
    6747             :     case ARM::VADDWuv2i64:
    6748             :     case ARM::VADDWuv4i32:
    6749             :     case ARM::VADDWuv8i16:
    6750             :     case ARM::VADDfd:
    6751             :     case ARM::VADDfq:
    6752             :     case ARM::VADDhd:
    6753             :     case ARM::VADDhq:
    6754             :     case ARM::VADDv16i8:
    6755             :     case ARM::VADDv1i64:
    6756             :     case ARM::VADDv2i32:
    6757             :     case ARM::VADDv2i64:
    6758             :     case ARM::VADDv4i16:
    6759             :     case ARM::VADDv4i32:
    6760             :     case ARM::VADDv8i16:
    6761             :     case ARM::VADDv8i8:
    6762             :     case ARM::VANDd:
    6763             :     case ARM::VANDq:
    6764             :     case ARM::VBICd:
    6765             :     case ARM::VBICq:
    6766             :     case ARM::VCEQfd:
    6767             :     case ARM::VCEQfq:
    6768             :     case ARM::VCEQhd:
    6769             :     case ARM::VCEQhq:
    6770             :     case ARM::VCEQv16i8:
    6771             :     case ARM::VCEQv2i32:
    6772             :     case ARM::VCEQv4i16:
    6773             :     case ARM::VCEQv4i32:
    6774             :     case ARM::VCEQv8i16:
    6775             :     case ARM::VCEQv8i8:
    6776             :     case ARM::VCGEfd:
    6777             :     case ARM::VCGEfq:
    6778             :     case ARM::VCGEhd:
    6779             :     case ARM::VCGEhq:
    6780             :     case ARM::VCGEsv16i8:
    6781             :     case ARM::VCGEsv2i32:
    6782             :     case ARM::VCGEsv4i16:
    6783             :     case ARM::VCGEsv4i32:
    6784             :     case ARM::VCGEsv8i16:
    6785             :     case ARM::VCGEsv8i8:
    6786             :     case ARM::VCGEuv16i8:
    6787             :     case ARM::VCGEuv2i32:
    6788             :     case ARM::VCGEuv4i16:
    6789             :     case ARM::VCGEuv4i32:
    6790             :     case ARM::VCGEuv8i16:
    6791             :     case ARM::VCGEuv8i8:
    6792             :     case ARM::VCGTfd:
    6793             :     case ARM::VCGTfq:
    6794             :     case ARM::VCGThd:
    6795             :     case ARM::VCGThq:
    6796             :     case ARM::VCGTsv16i8:
    6797             :     case ARM::VCGTsv2i32:
    6798             :     case ARM::VCGTsv4i16:
    6799             :     case ARM::VCGTsv4i32:
    6800             :     case ARM::VCGTsv8i16:
    6801             :     case ARM::VCGTsv8i8:
    6802             :     case ARM::VCGTuv16i8:
    6803             :     case ARM::VCGTuv2i32:
    6804             :     case ARM::VCGTuv4i16:
    6805             :     case ARM::VCGTuv4i32:
    6806             :     case ARM::VCGTuv8i16:
    6807             :     case ARM::VCGTuv8i8:
    6808             :     case ARM::VEORd:
    6809             :     case ARM::VEORq:
    6810             :     case ARM::VHADDsv16i8:
    6811             :     case ARM::VHADDsv2i32:
    6812             :     case ARM::VHADDsv4i16:
    6813             :     case ARM::VHADDsv4i32:
    6814             :     case ARM::VHADDsv8i16:
    6815             :     case ARM::VHADDsv8i8:
    6816             :     case ARM::VHADDuv16i8:
    6817             :     case ARM::VHADDuv2i32:
    6818             :     case ARM::VHADDuv4i16:
    6819             :     case ARM::VHADDuv4i32:
    6820             :     case ARM::VHADDuv8i16:
    6821             :     case ARM::VHADDuv8i8:
    6822             :     case ARM::VHSUBsv16i8:
    6823             :     case ARM::VHSUBsv2i32:
    6824             :     case ARM::VHSUBsv4i16:
    6825             :     case ARM::VHSUBsv4i32:
    6826             :     case ARM::VHSUBsv8i16:
    6827             :     case ARM::VHSUBsv8i8:
    6828             :     case ARM::VHSUBuv16i8:
    6829             :     case ARM::VHSUBuv2i32:
    6830             :     case ARM::VHSUBuv4i16:
    6831             :     case ARM::VHSUBuv4i32:
    6832             :     case ARM::VHSUBuv8i16:
    6833             :     case ARM::VHSUBuv8i8:
    6834             :     case ARM::VMAXfd:
    6835             :     case ARM::VMAXfq:
    6836             :     case ARM::VMAXhd:
    6837             :     case ARM::VMAXhq:
    6838             :     case ARM::VMAXsv16i8:
    6839             :     case ARM::VMAXsv2i32:
    6840             :     case ARM::VMAXsv4i16:
    6841             :     case ARM::VMAXsv4i32:
    6842             :     case ARM::VMAXsv8i16:
    6843             :     case ARM::VMAXsv8i8:
    6844             :     case ARM::VMAXuv16i8:
    6845             :     case ARM::VMAXuv2i32:
    6846             :     case ARM::VMAXuv4i16:
    6847             :     case ARM::VMAXuv4i32:
    6848             :     case ARM::VMAXuv8i16:
    6849             :     case ARM::VMAXuv8i8:
    6850             :     case ARM::VMINfd:
    6851             :     case ARM::VMINfq:
    6852             :     case ARM::VMINhd:
    6853             :     case ARM::VMINhq:
    6854             :     case ARM::VMINsv16i8:
    6855             :     case ARM::VMINsv2i32:
    6856             :     case ARM::VMINsv4i16:
    6857             :     case ARM::VMINsv4i32:
    6858             :     case ARM::VMINsv8i16:
    6859             :     case ARM::VMINsv8i8:
    6860             :     case ARM::VMINuv16i8:
    6861             :     case ARM::VMINuv2i32:
    6862             :     case ARM::VMINuv4i16:
    6863             :     case ARM::VMINuv4i32:
    6864             :     case ARM::VMINuv8i16:
    6865             :     case ARM::VMINuv8i8:
    6866             :     case ARM::VMULLp64:
    6867             :     case ARM::VMULLp8:
    6868             :     case ARM::VMULLsv2i64:
    6869             :     case ARM::VMULLsv4i32:
    6870             :     case ARM::VMULLsv8i16:
    6871             :     case ARM::VMULLuv2i64:
    6872             :     case ARM::VMULLuv4i32:
    6873             :     case ARM::VMULLuv8i16:
    6874             :     case ARM::VMULfd:
    6875             :     case ARM::VMULfq:
    6876             :     case ARM::VMULhd:
    6877             :     case ARM::VMULhq:
    6878             :     case ARM::VMULpd:
    6879             :     case ARM::VMULpq:
    6880             :     case ARM::VMULv16i8:
    6881             :     case ARM::VMULv2i32:
    6882             :     case ARM::VMULv4i16:
    6883             :     case ARM::VMULv4i32:
    6884             :     case ARM::VMULv8i16:
    6885             :     case ARM::VMULv8i8:
    6886             :     case ARM::VORNd:
    6887             :     case ARM::VORNq:
    6888             :     case ARM::VORRd:
    6889             :     case ARM::VORRq:
    6890             :     case ARM::VPADDf:
    6891             :     case ARM::VPADDh:
    6892             :     case ARM::VPADDi16:
    6893             :     case ARM::VPADDi32:
    6894             :     case ARM::VPADDi8:
    6895             :     case ARM::VPMAXf:
    6896             :     case ARM::VPMAXh:
    6897             :     case ARM::VPMAXs16:
    6898             :     case ARM::VPMAXs32:
    6899             :     case ARM::VPMAXs8:
    6900             :     case ARM::VPMAXu16:
    6901             :     case ARM::VPMAXu32:
    6902             :     case ARM::VPMAXu8:
    6903             :     case ARM::VPMINf:
    6904             :     case ARM::VPMINh:
    6905             :     case ARM::VPMINs16:
    6906             :     case ARM::VPMINs32:
    6907             :     case ARM::VPMINs8:
    6908             :     case ARM::VPMINu16:
    6909             :     case ARM::VPMINu32:
    6910             :     case ARM::VPMINu8:
    6911             :     case ARM::VQADDsv16i8:
    6912             :     case ARM::VQADDsv1i64:
    6913             :     case ARM::VQADDsv2i32:
    6914             :     case ARM::VQADDsv2i64:
    6915             :     case ARM::VQADDsv4i16:
    6916             :     case ARM::VQADDsv4i32:
    6917             :     case ARM::VQADDsv8i16:
    6918             :     case ARM::VQADDsv8i8:
    6919             :     case ARM::VQADDuv16i8:
    6920             :     case ARM::VQADDuv1i64:
    6921             :     case ARM::VQADDuv2i32:
    6922             :     case ARM::VQADDuv2i64:
    6923             :     case ARM::VQADDuv4i16:
    6924             :     case ARM::VQADDuv4i32:
    6925             :     case ARM::VQADDuv8i16:
    6926             :     case ARM::VQADDuv8i8:
    6927             :     case ARM::VQDMULHv2i32:
    6928             :     case ARM::VQDMULHv4i16:
    6929             :     case ARM::VQDMULHv4i32:
    6930             :     case ARM::VQDMULHv8i16:
    6931             :     case ARM::VQDMULLv2i64:
    6932             :     case ARM::VQDMULLv4i32:
    6933             :     case ARM::VQRDMULHv2i32:
    6934             :     case ARM::VQRDMULHv4i16:
    6935             :     case ARM::VQRDMULHv4i32:
    6936             :     case ARM::VQRDMULHv8i16:
    6937             :     case ARM::VQSUBsv16i8:
    6938             :     case ARM::VQSUBsv1i64:
    6939             :     case ARM::VQSUBsv2i32:
    6940             :     case ARM::VQSUBsv2i64:
    6941             :     case ARM::VQSUBsv4i16:
    6942             :     case ARM::VQSUBsv4i32:
    6943             :     case ARM::VQSUBsv8i16:
    6944             :     case ARM::VQSUBsv8i8:
    6945             :     case ARM::VQSUBuv16i8:
    6946             :     case ARM::VQSUBuv1i64:
    6947             :     case ARM::VQSUBuv2i32:
    6948             :     case ARM::VQSUBuv2i64:
    6949             :     case ARM::VQSUBuv4i16:
    6950             :     case ARM::VQSUBuv4i32:
    6951             :     case ARM::VQSUBuv8i16:
    6952             :     case ARM::VQSUBuv8i8:
    6953             :     case ARM::VRADDHNv2i32:
    6954             :     case ARM::VRADDHNv4i16:
    6955             :     case ARM::VRADDHNv8i8:
    6956             :     case ARM::VRECPSfd:
    6957             :     case ARM::VRECPSfq:
    6958             :     case ARM::VRECPShd:
    6959             :     case ARM::VRECPShq:
    6960             :     case ARM::VRHADDsv16i8:
    6961             :     case ARM::VRHADDsv2i32:
    6962             :     case ARM::VRHADDsv4i16:
    6963             :     case ARM::VRHADDsv4i32:
    6964             :     case ARM::VRHADDsv8i16:
    6965             :     case ARM::VRHADDsv8i8:
    6966             :     case ARM::VRHADDuv16i8:
    6967             :     case ARM::VRHADDuv2i32:
    6968             :     case ARM::VRHADDuv4i16:
    6969             :     case ARM::VRHADDuv4i32:
    6970             :     case ARM::VRHADDuv8i16:
    6971             :     case ARM::VRHADDuv8i8:
    6972             :     case ARM::VRSQRTSfd:
    6973             :     case ARM::VRSQRTSfq:
    6974             :     case ARM::VRSQRTShd:
    6975             :     case ARM::VRSQRTShq:
    6976             :     case ARM::VRSUBHNv2i32:
    6977             :     case ARM::VRSUBHNv4i16:
    6978             :     case ARM::VRSUBHNv8i8:
    6979             :     case ARM::VSUBHNv2i32:
    6980             :     case ARM::VSUBHNv4i16:
    6981             :     case ARM::VSUBHNv8i8:
    6982             :     case ARM::VSUBLsv2i64:
    6983             :     case ARM::VSUBLsv4i32:
    6984             :     case ARM::VSUBLsv8i16:
    6985             :     case ARM::VSUBLuv2i64:
    6986             :     case ARM::VSUBLuv4i32:
    6987             :     case ARM::VSUBLuv8i16:
    6988             :     case ARM::VSUBWsv2i64:
    6989             :     case ARM::VSUBWsv4i32:
    6990             :     case ARM::VSUBWsv8i16:
    6991             :     case ARM::VSUBWuv2i64:
    6992             :     case ARM::VSUBWuv4i32:
    6993             :     case ARM::VSUBWuv8i16:
    6994             :     case ARM::VSUBfd:
    6995             :     case ARM::VSUBfq:
    6996             :     case ARM::VSUBhd:
    6997             :     case ARM::VSUBhq:
    6998             :     case ARM::VSUBv16i8:
    6999             :     case ARM::VSUBv1i64:
    7000             :     case ARM::VSUBv2i32:
    7001             :     case ARM::VSUBv2i64:
    7002             :     case ARM::VSUBv4i16:
    7003             :     case ARM::VSUBv4i32:
    7004             :     case ARM::VSUBv8i16:
    7005             :     case ARM::VSUBv8i8:
    7006             :     case ARM::VTBL1:
    7007             :     case ARM::VTBL2:
    7008             :     case ARM::VTBL3:
    7009             :     case ARM::VTBL4:
    7010             :     case ARM::VTSTv16i8:
    7011             :     case ARM::VTSTv2i32:
    7012             :     case ARM::VTSTv4i16:
    7013             :     case ARM::VTSTv4i32:
    7014             :     case ARM::VTSTv8i16:
    7015             :     case ARM::VTSTv8i8: {
    7016             :       // op: Vd
    7017         969 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    7018         969 :       Value |= (op & UINT64_C(16)) << 18;
    7019         969 :       Value |= (op & UINT64_C(15)) << 12;
    7020             :       // op: Vn
    7021         969 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    7022         969 :       Value |= (op & UINT64_C(15)) << 16;
    7023         969 :       Value |= (op & UINT64_C(16)) << 3;
    7024             :       // op: Vm
    7025         969 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7026         969 :       Value |= (op & UINT64_C(16)) << 1;
    7027         969 :       Value |= op & UINT64_C(15);
    7028         969 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    7029         969 :       break;
    7030             :     }
    7031             :     case ARM::VMAXNMNDf:
    7032             :     case ARM::VMAXNMNDh:
    7033             :     case ARM::VMAXNMNQf:
    7034             :     case ARM::VMAXNMNQh:
    7035             :     case ARM::VMINNMNDf:
    7036             :     case ARM::VMINNMNDh:
    7037             :     case ARM::VMINNMNQf:
    7038             :     case ARM::VMINNMNQh: {
    7039             :       // op: Vd
    7040          24 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    7041          24 :       Value |= (op & UINT64_C(16)) << 18;
    7042          24 :       Value |= (op & UINT64_C(15)) << 12;
    7043             :       // op: Vn
    7044          24 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    7045          24 :       Value |= (op & UINT64_C(15)) << 16;
    7046          24 :       Value |= (op & UINT64_C(16)) << 3;
    7047             :       // op: Vm
    7048          24 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7049          24 :       Value |= (op & UINT64_C(16)) << 1;
    7050          24 :       Value |= op & UINT64_C(15);
    7051          24 :       Value = NEONThumb2V8PostEncoder(MI, Value, STI);
    7052          24 :       break;
    7053             :     }
    7054             :     case ARM::VMULLslsv2i32:
    7055             :     case ARM::VMULLsluv2i32:
    7056             :     case ARM::VMULslfd:
    7057             :     case ARM::VMULslfq:
    7058             :     case ARM::VMULslv2i32:
    7059             :     case ARM::VMULslv4i32:
    7060             :     case ARM::VQDMULHslv2i32:
    7061             :     case ARM::VQDMULHslv4i32:
    7062             :     case ARM::VQDMULLslv2i32:
    7063             :     case ARM::VQRDMULHslv2i32:
    7064             :     case ARM::VQRDMULHslv4i32: {
    7065             :       // op: Vd
    7066          16 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    7067          16 :       Value |= (op & UINT64_C(16)) << 18;
    7068          16 :       Value |= (op & UINT64_C(15)) << 12;
    7069             :       // op: Vn
    7070          16 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    7071          16 :       Value |= (op & UINT64_C(15)) << 16;
    7072          16 :       Value |= (op & UINT64_C(16)) << 3;
    7073             :       // op: Vm
    7074          16 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7075          16 :       Value |= op & UINT64_C(15);
    7076             :       // op: lane
    7077          16 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7078          16 :       Value |= (op & UINT64_C(1)) << 5;
    7079          16 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    7080          16 :       break;
    7081             :     }
    7082             :     case ARM::VFMALQI:
    7083             :     case ARM::VFMSLQI: {
    7084             :       // op: Vd
    7085           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    7086           8 :       Value |= (op & UINT64_C(16)) << 18;
    7087           8 :       Value |= (op & UINT64_C(15)) << 12;
    7088             :       // op: Vn
    7089           8 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    7090           8 :       Value |= (op & UINT64_C(15)) << 16;
    7091           8 :       Value |= (op & UINT64_C(16)) << 3;
    7092             :       // op: Vm
    7093           8 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7094           8 :       Value |= op & UINT64_C(7);
    7095             :       // op: idx
    7096           8 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7097           8 :       Value |= (op & UINT64_C(2)) << 4;
    7098           8 :       Value |= (op & UINT64_C(1)) << 3;
    7099           8 :       break;
    7100             :     }
    7101             :     case ARM::VMULLslsv4i16:
    7102             :     case ARM::VMULLsluv4i16:
    7103             :     case ARM::VMULslhd:
    7104             :     case ARM::VMULslhq:
    7105             :     case ARM::VMULslv4i16:
    7106             :     case ARM::VMULslv8i16:
    7107             :     case ARM::VQDMULHslv4i16:
    7108             :     case ARM::VQDMULHslv8i16:
    7109             :     case ARM::VQDMULLslv4i16:
    7110             :     case ARM::VQRDMULHslv4i16:
    7111             :     case ARM::VQRDMULHslv8i16: {
    7112             :       // op: Vd
    7113          25 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    7114          25 :       Value |= (op & UINT64_C(16)) << 18;
    7115          25 :       Value |= (op & UINT64_C(15)) << 12;
    7116             :       // op: Vn
    7117          25 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    7118          25 :       Value |= (op & UINT64_C(15)) << 16;
    7119          25 :       Value |= (op & UINT64_C(16)) << 3;
    7120             :       // op: Vm
    7121          25 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7122          25 :       Value |= op & UINT64_C(7);
    7123             :       // op: lane
    7124          25 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7125          25 :       Value |= (op & UINT64_C(2)) << 4;
    7126          25 :       Value |= (op & UINT64_C(1)) << 3;
    7127          25 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    7128          25 :       break;
    7129             :     }
    7130             :     case ARM::VFMALDI:
    7131             :     case ARM::VFMSLDI: {
    7132             :       // op: Vd
    7133           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    7134           8 :       Value |= (op & UINT64_C(16)) << 18;
    7135           8 :       Value |= (op & UINT64_C(15)) << 12;
    7136             :       // op: Vn
    7137           8 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    7138           8 :       Value |= (op & UINT64_C(30)) << 15;
    7139           8 :       Value |= (op & UINT64_C(1)) << 7;
    7140             :       // op: Vm
    7141           8 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7142           8 :       Value |= (op & UINT64_C(1)) << 5;
    7143           8 :       Value |= (op & UINT64_C(14)) >> 1;
    7144             :       // op: idx
    7145           8 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7146           8 :       Value |= (op & UINT64_C(1)) << 3;
    7147           8 :       break;
    7148             :     }
    7149             :     case ARM::VFMALD:
    7150             :     case ARM::VFMSLD: {
    7151             :       // op: Vd
    7152           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    7153           8 :       Value |= (op & UINT64_C(16)) << 18;
    7154           8 :       Value |= (op & UINT64_C(15)) << 12;
    7155             :       // op: Vn
    7156           8 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    7157           8 :       Value |= (op & UINT64_C(30)) << 15;
    7158           8 :       Value |= (op & UINT64_C(1)) << 7;
    7159             :       // op: Vm
    7160           8 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7161           8 :       Value |= (op & UINT64_C(1)) << 5;
    7162           8 :       Value |= (op & UINT64_C(30)) >> 1;
    7163           8 :       break;
    7164             :     }
    7165             :     case ARM::VQRSHLsv16i8:
    7166             :     case ARM::VQRSHLsv1i64:
    7167             :     case ARM::VQRSHLsv2i32:
    7168             :     case ARM::VQRSHLsv2i64:
    7169             :     case ARM::VQRSHLsv4i16:
    7170             :     case ARM::VQRSHLsv4i32:
    7171             :     case ARM::VQRSHLsv8i16:
    7172             :     case ARM::VQRSHLsv8i8:
    7173             :     case ARM::VQRSHLuv16i8:
    7174             :     case ARM::VQRSHLuv1i64:
    7175             :     case ARM::VQRSHLuv2i32:
    7176             :     case ARM::VQRSHLuv2i64:
    7177             :     case ARM::VQRSHLuv4i16:
    7178             :     case ARM::VQRSHLuv4i32:
    7179             :     case ARM::VQRSHLuv8i16:
    7180             :     case ARM::VQRSHLuv8i8:
    7181             :     case ARM::VQSHLsv16i8:
    7182             :     case ARM::VQSHLsv1i64:
    7183             :     case ARM::VQSHLsv2i32:
    7184             :     case ARM::VQSHLsv2i64:
    7185             :     case ARM::VQSHLsv4i16:
    7186             :     case ARM::VQSHLsv4i32:
    7187             :     case ARM::VQSHLsv8i16:
    7188             :     case ARM::VQSHLsv8i8:
    7189             :     case ARM::VQSHLuv16i8:
    7190             :     case ARM::VQSHLuv1i64:
    7191             :     case ARM::VQSHLuv2i32:
    7192             :     case ARM::VQSHLuv2i64:
    7193             :     case ARM::VQSHLuv4i16:
    7194             :     case ARM::VQSHLuv4i32:
    7195             :     case ARM::VQSHLuv8i16:
    7196             :     case ARM::VQSHLuv8i8:
    7197             :     case ARM::VRSHLsv16i8:
    7198             :     case ARM::VRSHLsv1i64:
    7199             :     case ARM::VRSHLsv2i32:
    7200             :     case ARM::VRSHLsv2i64:
    7201             :     case ARM::VRSHLsv4i16:
    7202             :     case ARM::VRSHLsv4i32:
    7203             :     case ARM::VRSHLsv8i16:
    7204             :     case ARM::VRSHLsv8i8:
    7205             :     case ARM::VRSHLuv16i8:
    7206             :     case ARM::VRSHLuv1i64:
    7207             :     case ARM::VRSHLuv2i32:
    7208             :     case ARM::VRSHLuv2i64:
    7209             :     case ARM::VRSHLuv4i16:
    7210             :     case ARM::VRSHLuv4i32:
    7211             :     case ARM::VRSHLuv8i16:
    7212             :     case ARM::VRSHLuv8i8:
    7213             :     case ARM::VSHLsv16i8:
    7214             :     case ARM::VSHLsv1i64:
    7215             :     case ARM::VSHLsv2i32:
    7216             :     case ARM::VSHLsv2i64:
    7217             :     case ARM::VSHLsv4i16:
    7218             :     case ARM::VSHLsv4i32:
    7219             :     case ARM::VSHLsv8i16:
    7220             :     case ARM::VSHLsv8i8:
    7221             :     case ARM::VSHLuv16i8:
    7222             :     case ARM::VSHLuv1i64:
    7223             :     case ARM::VSHLuv2i32:
    7224             :     case ARM::VSHLuv2i64:
    7225             :     case ARM::VSHLuv4i16:
    7226             :     case ARM::VSHLuv4i32:
    7227             :     case ARM::VSHLuv8i16:
    7228             :     case ARM::VSHLuv8i8: {
    7229             :       // op: Vd
    7230         144 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    7231         144 :       Value |= (op & UINT64_C(16)) << 18;
    7232         144 :       Value |= (op & UINT64_C(15)) << 12;
    7233             :       // op: Vn
    7234         144 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7235         144 :       Value |= (op & UINT64_C(15)) << 16;
    7236         144 :       Value |= (op & UINT64_C(16)) << 3;
    7237             :       // op: Vm
    7238         144 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    7239         144 :       Value |= (op & UINT64_C(16)) << 1;
    7240         144 :       Value |= op & UINT64_C(15);
    7241         144 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    7242         144 :       break;
    7243             :     }
    7244             :     case ARM::VCMLAv2f32:
    7245             :     case ARM::VCMLAv4f16:
    7246             :     case ARM::VCMLAv4f32:
    7247             :     case ARM::VCMLAv8f16: {
    7248             :       // op: Vd
    7249          24 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    7250          24 :       Value |= (op & UINT64_C(16)) << 18;
    7251          24 :       Value |= (op & UINT64_C(15)) << 12;
    7252             :       // op: Vn
    7253          24 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7254          24 :       Value |= (op & UINT64_C(15)) << 16;
    7255          24 :       Value |= (op & UINT64_C(16)) << 3;
    7256             :       // op: Vm
    7257          24 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7258          24 :       Value |= (op & UINT64_C(16)) << 1;
    7259          24 :       Value |= op & UINT64_C(15);
    7260             :       // op: rot
    7261          24 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7262          24 :       Value |= (op & UINT64_C(3)) << 23;
    7263          24 :       break;
    7264             :     }
    7265             :     case ARM::VCMLAv2f32_indexed:
    7266             :     case ARM::VCMLAv4f32_indexed: {
    7267             :       // op: Vd
    7268          20 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    7269          20 :       Value |= (op & UINT64_C(16)) << 18;
    7270          20 :       Value |= (op & UINT64_C(15)) << 12;
    7271             :       // op: Vn
    7272          20 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7273          20 :       Value |= (op & UINT64_C(15)) << 16;
    7274          20 :       Value |= (op & UINT64_C(16)) << 3;
    7275             :       // op: Vm
    7276          20 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7277          20 :       Value |= (op & UINT64_C(16)) << 1;
    7278          20 :       Value |= op & UINT64_C(15);
    7279             :       // op: rot
    7280          20 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
    7281          20 :       Value |= (op & UINT64_C(3)) << 20;
    7282          20 :       break;
    7283             :     }
    7284             :     case ARM::SHA1C:
    7285             :     case ARM::SHA1M:
    7286             :     case ARM::SHA1P:
    7287             :     case ARM::SHA1SU0:
    7288             :     case ARM::SHA256H:
    7289             :     case ARM::SHA256H2:
    7290             :     case ARM::SHA256SU1:
    7291             :     case ARM::VABALsv2i64:
    7292             :     case ARM::VABALsv4i32:
    7293             :     case ARM::VABALsv8i16:
    7294             :     case ARM::VABALuv2i64:
    7295             :     case ARM::VABALuv4i32:
    7296             :     case ARM::VABALuv8i16:
    7297             :     case ARM::VABAsv16i8:
    7298             :     case ARM::VABAsv2i32:
    7299             :     case ARM::VABAsv4i16:
    7300             :     case ARM::VABAsv4i32:
    7301             :     case ARM::VABAsv8i16:
    7302             :     case ARM::VABAsv8i8:
    7303             :     case ARM::VABAuv16i8:
    7304             :     case ARM::VABAuv2i32:
    7305             :     case ARM::VABAuv4i16:
    7306             :     case ARM::VABAuv4i32:
    7307             :     case ARM::VABAuv8i16:
    7308             :     case ARM::VABAuv8i8:
    7309             :     case ARM::VBIFd:
    7310             :     case ARM::VBIFq:
    7311             :     case ARM::VBITd:
    7312             :     case ARM::VBITq:
    7313             :     case ARM::VBSLd:
    7314             :     case ARM::VBSLq:
    7315             :     case ARM::VFMAfd:
    7316             :     case ARM::VFMAfq:
    7317             :     case ARM::VFMAhd:
    7318             :     case ARM::VFMAhq:
    7319             :     case ARM::VFMSfd:
    7320             :     case ARM::VFMSfq:
    7321             :     case ARM::VFMShd:
    7322             :     case ARM::VFMShq:
    7323             :     case ARM::VMLALsv2i64:
    7324             :     case ARM::VMLALsv4i32:
    7325             :     case ARM::VMLALsv8i16:
    7326             :     case ARM::VMLALuv2i64:
    7327             :     case ARM::VMLALuv4i32:
    7328             :     case ARM::VMLALuv8i16:
    7329             :     case ARM::VMLAfd:
    7330             :     case ARM::VMLAfq:
    7331             :     case ARM::VMLAhd:
    7332             :     case ARM::VMLAhq:
    7333             :     case ARM::VMLAv16i8:
    7334             :     case ARM::VMLAv2i32:
    7335             :     case ARM::VMLAv4i16:
    7336             :     case ARM::VMLAv4i32:
    7337             :     case ARM::VMLAv8i16:
    7338             :     case ARM::VMLAv8i8:
    7339             :     case ARM::VMLSLsv2i64:
    7340             :     case ARM::VMLSLsv4i32:
    7341             :     case ARM::VMLSLsv8i16:
    7342             :     case ARM::VMLSLuv2i64:
    7343             :     case ARM::VMLSLuv4i32:
    7344             :     case ARM::VMLSLuv8i16:
    7345             :     case ARM::VMLSfd:
    7346             :     case ARM::VMLSfq:
    7347             :     case ARM::VMLShd:
    7348             :     case ARM::VMLShq:
    7349             :     case ARM::VMLSv16i8:
    7350             :     case ARM::VMLSv2i32:
    7351             :     case ARM::VMLSv4i16:
    7352             :     case ARM::VMLSv4i32:
    7353             :     case ARM::VMLSv8i16:
    7354             :     case ARM::VMLSv8i8:
    7355             :     case ARM::VQDMLALv2i64:
    7356             :     case ARM::VQDMLALv4i32:
    7357             :     case ARM::VQDMLSLv2i64:
    7358             :     case ARM::VQDMLSLv4i32:
    7359             :     case ARM::VQRDMLAHv2i32:
    7360             :     case ARM::VQRDMLAHv4i16:
    7361             :     case ARM::VQRDMLAHv4i32:
    7362             :     case ARM::VQRDMLAHv8i16:
    7363             :     case ARM::VQRDMLSHv2i32:
    7364             :     case ARM::VQRDMLSHv4i16:
    7365             :     case ARM::VQRDMLSHv4i32:
    7366             :     case ARM::VQRDMLSHv8i16:
    7367             :     case ARM::VTBX1:
    7368             :     case ARM::VTBX2:
    7369             :     case ARM::VTBX3:
    7370             :     case ARM::VTBX4: {
    7371             :       // op: Vd
    7372         185 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    7373         185 :       Value |= (op & UINT64_C(16)) << 18;
    7374         185 :       Value |= (op & UINT64_C(15)) << 12;
    7375             :       // op: Vn
    7376         185 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7377         185 :       Value |= (op & UINT64_C(15)) << 16;
    7378         185 :       Value |= (op & UINT64_C(16)) << 3;
    7379             :       // op: Vm
    7380         185 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7381         185 :       Value |= (op & UINT64_C(16)) << 1;
    7382         185 :       Value |= op & UINT64_C(15);
    7383         185 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    7384         185 :       break;
    7385             :     }
    7386             :     case ARM::VMLALslsv2i32:
    7387             :     case ARM::VMLALsluv2i32:
    7388             :     case ARM::VMLAslfd:
    7389             :     case ARM::VMLAslfq:
    7390             :     case ARM::VMLAslv2i32:
    7391             :     case ARM::VMLAslv4i32:
    7392             :     case ARM::VMLSLslsv2i32:
    7393             :     case ARM::VMLSLsluv2i32:
    7394             :     case ARM::VMLSslfd:
    7395             :     case ARM::VMLSslfq:
    7396             :     case ARM::VMLSslv2i32:
    7397             :     case ARM::VMLSslv4i32:
    7398             :     case ARM::VQDMLALslv2i32:
    7399             :     case ARM::VQDMLSLslv2i32:
    7400             :     case ARM::VQRDMLAHslv2i32:
    7401             :     case ARM::VQRDMLAHslv4i32:
    7402             :     case ARM::VQRDMLSHslv2i32:
    7403             :     case ARM::VQRDMLSHslv4i32: {
    7404             :       // op: Vd
    7405          11 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    7406          11 :       Value |= (op & UINT64_C(16)) << 18;
    7407          11 :       Value |= (op & UINT64_C(15)) << 12;
    7408             :       // op: Vn
    7409          11 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7410          11 :       Value |= (op & UINT64_C(15)) << 16;
    7411          11 :       Value |= (op & UINT64_C(16)) << 3;
    7412             :       // op: Vm
    7413          11 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7414          11 :       Value |= op & UINT64_C(15);
    7415             :       // op: lane
    7416          11 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7417          11 :       Value |= (op & UINT64_C(1)) << 5;
    7418          11 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    7419          11 :       break;
    7420             :     }
    7421             :     case ARM::VCMLAv4f16_indexed:
    7422             :     case ARM::VCMLAv8f16_indexed: {
    7423             :       // op: Vd
    7424           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    7425           6 :       Value |= (op & UINT64_C(16)) << 18;
    7426           6 :       Value |= (op & UINT64_C(15)) << 12;
    7427             :       // op: Vn
    7428           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7429           6 :       Value |= (op & UINT64_C(15)) << 16;
    7430           6 :       Value |= (op & UINT64_C(16)) << 3;
    7431             :       // op: Vm
    7432           6 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7433           6 :       Value |= op & UINT64_C(15);
    7434             :       // op: rot
    7435           6 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
    7436           6 :       Value |= (op & UINT64_C(3)) << 20;
    7437             :       // op: lane
    7438           6 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7439           6 :       Value |= (op & UINT64_C(1)) << 5;
    7440           6 :       break;
    7441             :     }
    7442             :     case ARM::VMLALslsv4i16:
    7443             :     case ARM::VMLALsluv4i16:
    7444             :     case ARM::VMLAslhd:
    7445             :     case ARM::VMLAslhq:
    7446             :     case ARM::VMLAslv4i16:
    7447             :     case ARM::VMLAslv8i16:
    7448             :     case ARM::VMLSLslsv4i16:
    7449             :     case ARM::VMLSLsluv4i16:
    7450             :     case ARM::VMLSslhd:
    7451             :     case ARM::VMLSslhq:
    7452             :     case ARM::VMLSslv4i16:
    7453             :     case ARM::VMLSslv8i16:
    7454             :     case ARM::VQDMLALslv4i16:
    7455             :     case ARM::VQDMLSLslv4i16:
    7456             :     case ARM::VQRDMLAHslv4i16:
    7457             :     case ARM::VQRDMLAHslv8i16:
    7458             :     case ARM::VQRDMLSHslv4i16:
    7459             :     case ARM::VQRDMLSHslv8i16: {
    7460             :       // op: Vd
    7461          35 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    7462          35 :       Value |= (op & UINT64_C(16)) << 18;
    7463          35 :       Value |= (op & UINT64_C(15)) << 12;
    7464             :       // op: Vn
    7465          35 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7466          35 :       Value |= (op & UINT64_C(15)) << 16;
    7467          35 :       Value |= (op & UINT64_C(16)) << 3;
    7468             :       // op: Vm
    7469          35 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7470          35 :       Value |= op & UINT64_C(7);
    7471             :       // op: lane
    7472          35 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7473          35 :       Value |= (op & UINT64_C(2)) << 4;
    7474          35 :       Value |= (op & UINT64_C(1)) << 3;
    7475          35 :       Value = NEONThumb2DataIPostEncoder(MI, Value, STI);
    7476          35 :       break;
    7477             :     }
    7478             :     case ARM::VSDOTD:
    7479             :     case ARM::VSDOTQ:
    7480             :     case ARM::VUDOTD:
    7481             :     case ARM::VUDOTQ: {
    7482             :       // op: Vd
    7483          24 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    7484          24 :       Value |= (op & UINT64_C(16)) << 18;
    7485          24 :       Value |= (op & UINT64_C(15)) << 12;
    7486             :       // op: Vn
    7487          24 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7488          24 :       Value |= (op & UINT64_C(15)) << 16;
    7489          24 :       Value |= (op & UINT64_C(16)) << 3;
    7490             :       // op: Vm
    7491          24 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7492          24 :       Value |= (op & UINT64_C(16)) << 1;
    7493          24 :       Value |= op & UINT64_C(15);
    7494          24 :       break;
    7495             :     }
    7496             :     case ARM::VSDOTDI:
    7497             :     case ARM::VSDOTQI:
    7498             :     case ARM::VUDOTDI:
    7499             :     case ARM::VUDOTQI: {
    7500             :       // op: Vd
    7501          24 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    7502          24 :       Value |= (op & UINT64_C(16)) << 18;
    7503          24 :       Value |= (op & UINT64_C(15)) << 12;
    7504             :       // op: Vn
    7505          24 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7506          24 :       Value |= (op & UINT64_C(15)) << 16;
    7507          24 :       Value |= (op & UINT64_C(16)) << 3;
    7508             :       // op: Vm
    7509          24 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7510          24 :       Value |= op & UINT64_C(15);
    7511             :       // op: lane
    7512          24 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7513          24 :       Value |= (op & UINT64_C(1)) << 5;
    7514          24 :       break;
    7515             :     }
    7516             :     case ARM::VST1LNd8: {
    7517             :       // op: Vd
    7518           2 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7519           2 :       Value |= (op & UINT64_C(16)) << 18;
    7520           2 :       Value |= (op & UINT64_C(15)) << 12;
    7521             :       // op: Rn
    7522           2 :       op = getAddrMode6AddressOpValue(MI, 0, Fixups, STI);
    7523           2 :       Value |= (op & UINT64_C(15)) << 16;
    7524             :       // op: lane
    7525           2 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7526           2 :       Value |= (op & UINT64_C(7)) << 5;
    7527           2 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7528           2 :       break;
    7529             :     }
    7530             :     case ARM::VST3LNd32:
    7531             :     case ARM::VST3LNq32: {
    7532             :       // op: Vd
    7533           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7534           6 :       Value |= (op & UINT64_C(16)) << 18;
    7535           6 :       Value |= (op & UINT64_C(15)) << 12;
    7536             :       // op: Rn
    7537           6 :       op = getAddrMode6AddressOpValue(MI, 0, Fixups, STI);
    7538           6 :       Value |= (op & UINT64_C(15)) << 16;
    7539             :       // op: lane
    7540           6 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
    7541           6 :       Value |= (op & UINT64_C(1)) << 7;
    7542           6 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7543           6 :       break;
    7544             :     }
    7545             :     case ARM::VST3LNd16:
    7546             :     case ARM::VST3LNq16: {
    7547             :       // op: Vd
    7548           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7549           6 :       Value |= (op & UINT64_C(16)) << 18;
    7550           6 :       Value |= (op & UINT64_C(15)) << 12;
    7551             :       // op: Rn
    7552           6 :       op = getAddrMode6AddressOpValue(MI, 0, Fixups, STI);
    7553           6 :       Value |= (op & UINT64_C(15)) << 16;
    7554             :       // op: lane
    7555           6 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
    7556           6 :       Value |= (op & UINT64_C(3)) << 6;
    7557           6 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7558           6 :       break;
    7559             :     }
    7560             :     case ARM::VST3LNd8: {
    7561             :       // op: Vd
    7562           3 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7563           3 :       Value |= (op & UINT64_C(16)) << 18;
    7564           3 :       Value |= (op & UINT64_C(15)) << 12;
    7565             :       // op: Rn
    7566           3 :       op = getAddrMode6AddressOpValue(MI, 0, Fixups, STI);
    7567           3 :       Value |= (op & UINT64_C(15)) << 16;
    7568             :       // op: lane
    7569           3 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
    7570           3 :       Value |= (op & UINT64_C(7)) << 5;
    7571           3 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7572           3 :       break;
    7573             :     }
    7574             :     case ARM::VST1LNd16: {
    7575             :       // op: Vd
    7576           3 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7577           3 :       Value |= (op & UINT64_C(16)) << 18;
    7578           3 :       Value |= (op & UINT64_C(15)) << 12;
    7579             :       // op: Rn
    7580           3 :       op = getAddrMode6AddressOpValue(MI, 0, Fixups, STI);
    7581           3 :       Value |= (op & UINT64_C(15)) << 16;
    7582           3 :       Value |= op & UINT64_C(16);
    7583             :       // op: lane
    7584           3 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7585           3 :       Value |= (op & UINT64_C(3)) << 6;
    7586           3 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7587           3 :       break;
    7588             :     }
    7589             :     case ARM::VST2LNd32:
    7590             :     case ARM::VST2LNq32: {
    7591             :       // op: Vd
    7592           9 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7593           9 :       Value |= (op & UINT64_C(16)) << 18;
    7594           9 :       Value |= (op & UINT64_C(15)) << 12;
    7595             :       // op: Rn
    7596           9 :       op = getAddrMode6AddressOpValue(MI, 0, Fixups, STI);
    7597           9 :       Value |= (op & UINT64_C(15)) << 16;
    7598           9 :       Value |= op & UINT64_C(16);
    7599             :       // op: lane
    7600           9 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7601           9 :       Value |= (op & UINT64_C(1)) << 7;
    7602           9 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7603           9 :       break;
    7604             :     }
    7605             :     case ARM::VST2LNd16:
    7606             :     case ARM::VST2LNq16: {
    7607             :       // op: Vd
    7608           5 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7609           5 :       Value |= (op & UINT64_C(16)) << 18;
    7610           5 :       Value |= (op & UINT64_C(15)) << 12;
    7611             :       // op: Rn
    7612           5 :       op = getAddrMode6AddressOpValue(MI, 0, Fixups, STI);
    7613           5 :       Value |= (op & UINT64_C(15)) << 16;
    7614           5 :       Value |= op & UINT64_C(16);
    7615             :       // op: lane
    7616           5 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7617           5 :       Value |= (op & UINT64_C(3)) << 6;
    7618           5 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7619           5 :       break;
    7620             :     }
    7621             :     case ARM::VST2LNd8: {
    7622             :       // op: Vd
    7623           5 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7624           5 :       Value |= (op & UINT64_C(16)) << 18;
    7625           5 :       Value |= (op & UINT64_C(15)) << 12;
    7626             :       // op: Rn
    7627           5 :       op = getAddrMode6AddressOpValue(MI, 0, Fixups, STI);
    7628           5 :       Value |= (op & UINT64_C(15)) << 16;
    7629           5 :       Value |= op & UINT64_C(16);
    7630             :       // op: lane
    7631           5 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7632           5 :       Value |= (op & UINT64_C(7)) << 5;
    7633           5 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7634           5 :       break;
    7635             :     }
    7636             :     case ARM::VST4LNd16:
    7637             :     case ARM::VST4LNq16: {
    7638             :       // op: Vd
    7639           8 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7640           8 :       Value |= (op & UINT64_C(16)) << 18;
    7641           8 :       Value |= (op & UINT64_C(15)) << 12;
    7642             :       // op: Rn
    7643           8 :       op = getAddrMode6AddressOpValue(MI, 0, Fixups, STI);
    7644           8 :       Value |= (op & UINT64_C(15)) << 16;
    7645           8 :       Value |= op & UINT64_C(16);
    7646             :       // op: lane
    7647           8 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
    7648           8 :       Value |= (op & UINT64_C(3)) << 6;
    7649           8 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7650           8 :       break;
    7651             :     }
    7652             :     case ARM::VST4LNd8: {
    7653             :       // op: Vd
    7654           4 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7655           4 :       Value |= (op & UINT64_C(16)) << 18;
    7656           4 :       Value |= (op & UINT64_C(15)) << 12;
    7657             :       // op: Rn
    7658           4 :       op = getAddrMode6AddressOpValue(MI, 0, Fixups, STI);
    7659           4 :       Value |= (op & UINT64_C(15)) << 16;
    7660           4 :       Value |= op & UINT64_C(16);
    7661             :       // op: lane
    7662           4 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
    7663           4 :       Value |= (op & UINT64_C(7)) << 5;
    7664           4 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7665           4 :       break;
    7666             :     }
    7667             :     case ARM::VST1d16:
    7668             :     case ARM::VST1d16T:
    7669             :     case ARM::VST1d32:
    7670             :     case ARM::VST1d32T:
    7671             :     case ARM::VST1d64:
    7672             :     case ARM::VST1d64T:
    7673             :     case ARM::VST1d8:
    7674             :     case ARM::VST1d8T:
    7675             :     case ARM::VST3d16:
    7676             :     case ARM::VST3d32:
    7677             :     case ARM::VST3d8:
    7678             :     case ARM::VST3q16:
    7679             :     case ARM::VST3q32:
    7680             :     case ARM::VST3q8: {
    7681             :       // op: Vd
    7682          49 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7683          49 :       Value |= (op & UINT64_C(16)) << 18;
    7684          49 :       Value |= (op & UINT64_C(15)) << 12;
    7685             :       // op: Rn
    7686          49 :       op = getAddrMode6AddressOpValue(MI, 0, Fixups, STI);
    7687          49 :       Value |= (op & UINT64_C(15)) << 16;
    7688          49 :       Value |= op & UINT64_C(16);
    7689          49 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7690          49 :       break;
    7691             :     }
    7692             :     case ARM::VST4LNd32:
    7693             :     case ARM::VST4LNq32: {
    7694             :       // op: Vd
    7695          13 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7696          13 :       Value |= (op & UINT64_C(16)) << 18;
    7697          13 :       Value |= (op & UINT64_C(15)) << 12;
    7698             :       // op: Rn
    7699          13 :       op = getAddrMode6AddressOpValue(MI, 0, Fixups, STI);
    7700          13 :       Value |= (op & UINT64_C(15)) << 16;
    7701          13 :       Value |= op & UINT64_C(48);
    7702             :       // op: lane
    7703          13 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
    7704          13 :       Value |= (op & UINT64_C(1)) << 7;
    7705          13 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7706          13 :       break;
    7707             :     }
    7708             :     case ARM::VST1d16Q:
    7709             :     case ARM::VST1d32Q:
    7710             :     case ARM::VST1d64Q:
    7711             :     case ARM::VST1d8Q:
    7712             :     case ARM::VST1q16:
    7713             :     case ARM::VST1q32:
    7714             :     case ARM::VST1q64:
    7715             :     case ARM::VST1q8:
    7716             :     case ARM::VST2b16:
    7717             :     case ARM::VST2b32:
    7718             :     case ARM::VST2b8:
    7719             :     case ARM::VST2d16:
    7720             :     case ARM::VST2d32:
    7721             :     case ARM::VST2d8:
    7722             :     case ARM::VST2q16:
    7723             :     case ARM::VST2q32:
    7724             :     case ARM::VST2q8:
    7725             :     case ARM::VST4d16:
    7726             :     case ARM::VST4d32:
    7727             :     case ARM::VST4d8:
    7728             :     case ARM::VST4q16:
    7729             :     case ARM::VST4q32:
    7730             :     case ARM::VST4q8: {
    7731             :       // op: Vd
    7732         113 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7733         113 :       Value |= (op & UINT64_C(16)) << 18;
    7734         113 :       Value |= (op & UINT64_C(15)) << 12;
    7735             :       // op: Rn
    7736         113 :       op = getAddrMode6AddressOpValue(MI, 0, Fixups, STI);
    7737         113 :       Value |= (op & UINT64_C(15)) << 16;
    7738         113 :       Value |= op & UINT64_C(48);
    7739         113 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7740         113 :       break;
    7741             :     }
    7742             :     case ARM::VST1LNd32: {
    7743             :       // op: Vd
    7744           3 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    7745           3 :       Value |= (op & UINT64_C(16)) << 18;
    7746           3 :       Value |= (op & UINT64_C(15)) << 12;
    7747             :       // op: Rn
    7748           3 :       op = getAddrMode6OneLane32AddressOpValue(MI, 0, Fixups, STI);
    7749           3 :       Value |= (op & UINT64_C(15)) << 16;
    7750           3 :       Value |= op & UINT64_C(48);
    7751             :       // op: lane
    7752           3 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7753           3 :       Value |= (op & UINT64_C(1)) << 7;
    7754           3 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7755           3 :       break;
    7756             :     }
    7757             :     case ARM::VST1d16wb_fixed:
    7758             :     case ARM::VST1d32wb_fixed:
    7759             :     case ARM::VST1d64wb_fixed:
    7760             :     case ARM::VST1d8wb_fixed: {
    7761             :       // op: Vd
    7762          56 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7763          56 :       Value |= (op & UINT64_C(16)) << 18;
    7764          56 :       Value |= (op & UINT64_C(15)) << 12;
    7765             :       // op: Rn
    7766          56 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7767          56 :       Value |= (op & UINT64_C(15)) << 16;
    7768          56 :       Value |= op & UINT64_C(16);
    7769          56 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7770          56 :       break;
    7771             :     }
    7772             :     case ARM::VST1d16Qwb_fixed:
    7773             :     case ARM::VST1d16Twb_fixed:
    7774             :     case ARM::VST1d32Qwb_fixed:
    7775             :     case ARM::VST1d32Twb_fixed:
    7776             :     case ARM::VST1d64Qwb_fixed:
    7777             :     case ARM::VST1d64Twb_fixed:
    7778             :     case ARM::VST1d8Qwb_fixed:
    7779             :     case ARM::VST1d8Twb_fixed:
    7780             :     case ARM::VST1q16wb_fixed:
    7781             :     case ARM::VST1q32wb_fixed:
    7782             :     case ARM::VST1q64wb_fixed:
    7783             :     case ARM::VST1q8wb_fixed:
    7784             :     case ARM::VST2b16wb_fixed:
    7785             :     case ARM::VST2b32wb_fixed:
    7786             :     case ARM::VST2b8wb_fixed:
    7787             :     case ARM::VST2d16wb_fixed:
    7788             :     case ARM::VST2d32wb_fixed:
    7789             :     case ARM::VST2d8wb_fixed:
    7790             :     case ARM::VST2q16wb_fixed:
    7791             :     case ARM::VST2q32wb_fixed:
    7792             :     case ARM::VST2q8wb_fixed: {
    7793             :       // op: Vd
    7794          92 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    7795          92 :       Value |= (op & UINT64_C(16)) << 18;
    7796          92 :       Value |= (op & UINT64_C(15)) << 12;
    7797             :       // op: Rn
    7798          92 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7799          92 :       Value |= (op & UINT64_C(15)) << 16;
    7800          92 :       Value |= op & UINT64_C(48);
    7801          92 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7802          92 :       break;
    7803             :     }
    7804             :     case ARM::VST1LNd8_UPD: {
    7805             :       // op: Vd
    7806          11 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7807          11 :       Value |= (op & UINT64_C(16)) << 18;
    7808          11 :       Value |= (op & UINT64_C(15)) << 12;
    7809             :       // op: Rn
    7810          11 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7811          11 :       Value |= (op & UINT64_C(15)) << 16;
    7812             :       // op: Rm
    7813             :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    7814          11 :       Value |= op & UINT64_C(15);
    7815             :       // op: lane
    7816          11 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
    7817          11 :       Value |= (op & UINT64_C(7)) << 5;
    7818          11 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7819          11 :       break;
    7820             :     }
    7821             :     case ARM::VST3LNd32_UPD:
    7822             :     case ARM::VST3LNq32_UPD: {
    7823             :       // op: Vd
    7824           8 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7825           8 :       Value |= (op & UINT64_C(16)) << 18;
    7826           8 :       Value |= (op & UINT64_C(15)) << 12;
    7827             :       // op: Rn
    7828           8 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7829           8 :       Value |= (op & UINT64_C(15)) << 16;
    7830             :       // op: Rm
    7831             :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    7832           8 :       Value |= op & UINT64_C(15);
    7833             :       // op: lane
    7834           8 :       op = getMachineOpValue(MI, MI.getOperand(7), Fixups, STI);
    7835           8 :       Value |= (op & UINT64_C(1)) << 7;
    7836           8 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7837           8 :       break;
    7838             :     }
    7839             :     case ARM::VST3LNd16_UPD:
    7840             :     case ARM::VST3LNq16_UPD: {
    7841             :       // op: Vd
    7842           8 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7843           8 :       Value |= (op & UINT64_C(16)) << 18;
    7844           8 :       Value |= (op & UINT64_C(15)) << 12;
    7845             :       // op: Rn
    7846           8 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7847           8 :       Value |= (op & UINT64_C(15)) << 16;
    7848             :       // op: Rm
    7849             :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    7850           8 :       Value |= op & UINT64_C(15);
    7851             :       // op: lane
    7852           8 :       op = getMachineOpValue(MI, MI.getOperand(7), Fixups, STI);
    7853           8 :       Value |= (op & UINT64_C(3)) << 6;
    7854           8 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7855           8 :       break;
    7856             :     }
    7857             :     case ARM::VST3LNd8_UPD: {
    7858             :       // op: Vd
    7859           4 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7860           4 :       Value |= (op & UINT64_C(16)) << 18;
    7861           4 :       Value |= (op & UINT64_C(15)) << 12;
    7862             :       // op: Rn
    7863           4 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7864           4 :       Value |= (op & UINT64_C(15)) << 16;
    7865             :       // op: Rm
    7866             :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    7867           4 :       Value |= op & UINT64_C(15);
    7868             :       // op: lane
    7869           4 :       op = getMachineOpValue(MI, MI.getOperand(7), Fixups, STI);
    7870           4 :       Value |= (op & UINT64_C(7)) << 5;
    7871           4 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7872           4 :       break;
    7873             :     }
    7874             :     case ARM::VST1LNd16_UPD: {
    7875             :       // op: Vd
    7876          17 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7877          17 :       Value |= (op & UINT64_C(16)) << 18;
    7878          17 :       Value |= (op & UINT64_C(15)) << 12;
    7879             :       // op: Rn
    7880          17 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7881          17 :       Value |= (op & UINT64_C(15)) << 16;
    7882          17 :       Value |= op & UINT64_C(16);
    7883             :       // op: Rm
    7884             :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    7885          17 :       Value |= op & UINT64_C(15);
    7886             :       // op: lane
    7887          17 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
    7888          17 :       Value |= (op & UINT64_C(3)) << 6;
    7889          17 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7890          17 :       break;
    7891             :     }
    7892             :     case ARM::VST2LNd32_UPD:
    7893             :     case ARM::VST2LNq32_UPD: {
    7894             :       // op: Vd
    7895          10 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7896          10 :       Value |= (op & UINT64_C(16)) << 18;
    7897          10 :       Value |= (op & UINT64_C(15)) << 12;
    7898             :       // op: Rn
    7899          10 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7900          10 :       Value |= (op & UINT64_C(15)) << 16;
    7901          10 :       Value |= op & UINT64_C(16);
    7902             :       // op: Rm
    7903             :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    7904          10 :       Value |= op & UINT64_C(15);
    7905             :       // op: lane
    7906          10 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
    7907          10 :       Value |= (op & UINT64_C(1)) << 7;
    7908          10 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7909          10 :       break;
    7910             :     }
    7911             :     case ARM::VST2LNd16_UPD:
    7912             :     case ARM::VST2LNq16_UPD: {
    7913             :       // op: Vd
    7914           2 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7915           2 :       Value |= (op & UINT64_C(16)) << 18;
    7916           2 :       Value |= (op & UINT64_C(15)) << 12;
    7917             :       // op: Rn
    7918           2 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7919           2 :       Value |= (op & UINT64_C(15)) << 16;
    7920           2 :       Value |= op & UINT64_C(16);
    7921             :       // op: Rm
    7922             :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    7923           2 :       Value |= op & UINT64_C(15);
    7924             :       // op: lane
    7925           2 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
    7926           2 :       Value |= (op & UINT64_C(3)) << 6;
    7927           2 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7928           2 :       break;
    7929             :     }
    7930             :     case ARM::VST2LNd8_UPD: {
    7931             :       // op: Vd
    7932           6 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7933           6 :       Value |= (op & UINT64_C(16)) << 18;
    7934           6 :       Value |= (op & UINT64_C(15)) << 12;
    7935             :       // op: Rn
    7936           6 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7937           6 :       Value |= (op & UINT64_C(15)) << 16;
    7938           6 :       Value |= op & UINT64_C(16);
    7939             :       // op: Rm
    7940             :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    7941           6 :       Value |= op & UINT64_C(15);
    7942             :       // op: lane
    7943           6 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
    7944           6 :       Value |= (op & UINT64_C(7)) << 5;
    7945           6 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7946           6 :       break;
    7947             :     }
    7948             :     case ARM::VST4LNd16_UPD:
    7949             :     case ARM::VST4LNq16_UPD: {
    7950             :       // op: Vd
    7951          13 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7952          13 :       Value |= (op & UINT64_C(16)) << 18;
    7953          13 :       Value |= (op & UINT64_C(15)) << 12;
    7954             :       // op: Rn
    7955          13 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7956          13 :       Value |= (op & UINT64_C(15)) << 16;
    7957          13 :       Value |= op & UINT64_C(16);
    7958             :       // op: Rm
    7959             :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    7960          13 :       Value |= op & UINT64_C(15);
    7961             :       // op: lane
    7962          13 :       op = getMachineOpValue(MI, MI.getOperand(8), Fixups, STI);
    7963          13 :       Value |= (op & UINT64_C(3)) << 6;
    7964          13 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7965          13 :       break;
    7966             :     }
    7967             :     case ARM::VST4LNd8_UPD: {
    7968             :       // op: Vd
    7969           7 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7970           7 :       Value |= (op & UINT64_C(16)) << 18;
    7971           7 :       Value |= (op & UINT64_C(15)) << 12;
    7972             :       // op: Rn
    7973           7 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7974           7 :       Value |= (op & UINT64_C(15)) << 16;
    7975           7 :       Value |= op & UINT64_C(16);
    7976             :       // op: Rm
    7977             :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    7978           7 :       Value |= op & UINT64_C(15);
    7979             :       // op: lane
    7980           7 :       op = getMachineOpValue(MI, MI.getOperand(8), Fixups, STI);
    7981           7 :       Value |= (op & UINT64_C(7)) << 5;
    7982           7 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    7983           7 :       break;
    7984             :     }
    7985             :     case ARM::VST3d16_UPD:
    7986             :     case ARM::VST3d32_UPD:
    7987             :     case ARM::VST3d8_UPD:
    7988             :     case ARM::VST3q16_UPD:
    7989             :     case ARM::VST3q32_UPD:
    7990             :     case ARM::VST3q8_UPD: {
    7991             :       // op: Vd
    7992          42 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    7993          42 :       Value |= (op & UINT64_C(16)) << 18;
    7994          42 :       Value |= (op & UINT64_C(15)) << 12;
    7995             :       // op: Rn
    7996          42 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    7997          42 :       Value |= (op & UINT64_C(15)) << 16;
    7998          42 :       Value |= op & UINT64_C(16);
    7999             :       // op: Rm
    8000             :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    8001          42 :       Value |= op & UINT64_C(15);
    8002          42 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    8003          42 :       break;
    8004             :     }
    8005             :     case ARM::VST1d16wb_register:
    8006             :     case ARM::VST1d32wb_register:
    8007             :     case ARM::VST1d64wb_register:
    8008             :     case ARM::VST1d8wb_register: {
    8009             :       // op: Vd
    8010           8 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    8011           8 :       Value |= (op & UINT64_C(16)) << 18;
    8012           8 :       Value |= (op & UINT64_C(15)) << 12;
    8013             :       // op: Rn
    8014           8 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    8015           8 :       Value |= (op & UINT64_C(15)) << 16;
    8016           8 :       Value |= op & UINT64_C(16);
    8017             :       // op: Rm
    8018           8 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    8019           8 :       Value |= op & UINT64_C(15);
    8020           8 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    8021           8 :       break;
    8022             :     }
    8023             :     case ARM::VST4LNd32_UPD:
    8024             :     case ARM::VST4LNq32_UPD: {
    8025             :       // op: Vd
    8026          29 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    8027          29 :       Value |= (op & UINT64_C(16)) << 18;
    8028          29 :       Value |= (op & UINT64_C(15)) << 12;
    8029             :       // op: Rn
    8030          29 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    8031          29 :       Value |= (op & UINT64_C(15)) << 16;
    8032          29 :       Value |= op & UINT64_C(48);
    8033             :       // op: Rm
    8034             :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    8035          29 :       Value |= op & UINT64_C(15);
    8036             :       // op: lane
    8037          29 :       op = getMachineOpValue(MI, MI.getOperand(8), Fixups, STI);
    8038          29 :       Value |= (op & UINT64_C(1)) << 7;
    8039          29 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    8040          29 :       break;
    8041             :     }
    8042             :     case ARM::VST4d16_UPD:
    8043             :     case ARM::VST4d32_UPD:
    8044             :     case ARM::VST4d8_UPD:
    8045             :     case ARM::VST4q16_UPD:
    8046             :     case ARM::VST4q32_UPD:
    8047             :     case ARM::VST4q8_UPD: {
    8048             :       // op: Vd
    8049          66 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    8050          66 :       Value |= (op & UINT64_C(16)) << 18;
    8051          66 :       Value |= (op & UINT64_C(15)) << 12;
    8052             :       // op: Rn
    8053          66 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    8054          66 :       Value |= (op & UINT64_C(15)) << 16;
    8055          66 :       Value |= op & UINT64_C(48);
    8056             :       // op: Rm
    8057             :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    8058          66 :       Value |= op & UINT64_C(15);
    8059          66 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    8060          66 :       break;
    8061             :     }
    8062             :     case ARM::VST1d16Qwb_register:
    8063             :     case ARM::VST1d16Twb_register:
    8064             :     case ARM::VST1d32Qwb_register:
    8065             :     case ARM::VST1d32Twb_register:
    8066             :     case ARM::VST1d64Qwb_register:
    8067             :     case ARM::VST1d64Twb_register:
    8068             :     case ARM::VST1d8Qwb_register:
    8069             :     case ARM::VST1d8Twb_register:
    8070             :     case ARM::VST1q16wb_register:
    8071             :     case ARM::VST1q32wb_register:
    8072             :     case ARM::VST1q64wb_register:
    8073             :     case ARM::VST1q8wb_register:
    8074             :     case ARM::VST2b16wb_register:
    8075             :     case ARM::VST2b32wb_register:
    8076             :     case ARM::VST2b8wb_register:
    8077             :     case ARM::VST2d16wb_register:
    8078             :     case ARM::VST2d32wb_register:
    8079             :     case ARM::VST2d8wb_register:
    8080             :     case ARM::VST2q16wb_register:
    8081             :     case ARM::VST2q32wb_register:
    8082             :     case ARM::VST2q8wb_register: {
    8083             :       // op: Vd
    8084          58 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    8085          58 :       Value |= (op & UINT64_C(16)) << 18;
    8086          58 :       Value |= (op & UINT64_C(15)) << 12;
    8087             :       // op: Rn
    8088          58 :       op = getAddrMode6AddressOpValue(MI, 1, Fixups, STI);
    8089          58 :       Value |= (op & UINT64_C(15)) << 16;
    8090          58 :       Value |= op & UINT64_C(48);
    8091             :       // op: Rm
    8092          58 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    8093          58 :       Value |= op & UINT64_C(15);
    8094          58 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    8095          58 :       break;
    8096             :     }
    8097             :     case ARM::VST1LNd32_UPD: {
    8098             :       // op: Vd
    8099          10 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    8100          10 :       Value |= (op & UINT64_C(16)) << 18;
    8101          10 :       Value |= (op & UINT64_C(15)) << 12;
    8102             :       // op: Rn
    8103          10 :       op = getAddrMode6OneLane32AddressOpValue(MI, 1, Fixups, STI);
    8104          10 :       Value |= (op & UINT64_C(15)) << 16;
    8105          10 :       Value |= op & UINT64_C(48);
    8106             :       // op: Rm
    8107             :       op = getAddrMode6OffsetOpValue(MI, 3, Fixups, STI);
    8108          10 :       Value |= op & UINT64_C(15);
    8109             :       // op: lane
    8110          10 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
    8111          10 :       Value |= (op & UINT64_C(1)) << 7;
    8112          10 :       Value = NEONThumb2LoadStorePostEncoder(MI, Value, STI);
    8113          10 :       break;
    8114             :     }
    8115         360 :     case ARM::LDC2L_OFFSET:
    8116             :     case ARM::LDC2L_PRE:
    8117             :     case ARM::LDC2_OFFSET:
    8118             :     case ARM::LDC2_PRE:
    8119             :     case ARM::STC2L_OFFSET:
    8120             :     case ARM::STC2L_PRE:
    8121             :     case ARM::STC2_OFFSET:
    8122             :     case ARM::STC2_PRE:
    8123             :     case ARM::t2LDC2L_OFFSET:
    8124             :     case ARM::t2LDC2L_PRE:
    8125             :     case ARM::t2LDC2_OFFSET:
    8126             :     case ARM::t2LDC2_PRE:
    8127             :     case ARM::t2LDCL_OFFSET:
    8128             :     case ARM::t2LDCL_PRE:
    8129             :     case ARM::t2LDC_OFFSET:
    8130             :     case ARM::t2LDC_PRE:
    8131             :     case ARM::t2STC2L_OFFSET:
    8132             :     case ARM::t2STC2L_PRE:
    8133             :     case ARM::t2STC2_OFFSET:
    8134             :     case ARM::t2STC2_PRE:
    8135             :     case ARM::t2STCL_OFFSET:
    8136             :     case ARM::t2STCL_PRE:
    8137             :     case ARM::t2STC_OFFSET:
    8138             :     case ARM::t2STC_PRE: {
    8139             :       // op: addr
    8140         360 :       op = getAddrMode5OpValue(MI, 2, Fixups, STI);
    8141         360 :       Value |= (op & UINT64_C(256)) << 15;
    8142         360 :       Value |= (op & UINT64_C(7680)) << 7;
    8143         360 :       Value |= op & UINT64_C(255);
    8144             :       // op: cop
    8145         360 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8146         360 :       Value |= (op & UINT64_C(15)) << 8;
    8147             :       // op: CRd
    8148         360 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8149         360 :       Value |= (op & UINT64_C(15)) << 12;
    8150         360 :       break;
    8151             :     }
    8152          21 :     case ARM::t2PLDWi12:
    8153             :     case ARM::t2PLDi12:
    8154             :     case ARM::t2PLIi12: {
    8155             :       // op: addr
    8156          21 :       op = getAddrModeImm12OpValue(MI, 0, Fixups, STI);
    8157          21 :       Value |= (op & UINT64_C(122880)) << 3;
    8158          21 :       Value |= op & UINT64_C(4095);
    8159          21 :       break;
    8160             :     }
    8161           0 :     case ARM::PLDWi12:
    8162             :     case ARM::PLDi12:
    8163             :     case ARM::PLIi12: {
    8164             :       // op: addr
    8165           0 :       op = getAddrModeImm12OpValue(MI, 0, Fixups, STI);
    8166           0 :       Value |= (op & UINT64_C(4096)) << 11;
    8167           0 :       Value |= (op & UINT64_C(122880)) << 3;
    8168           0 :       Value |= op & UINT64_C(4095);
    8169           0 :       break;
    8170             :     }
    8171           4 :     case ARM::t2PLDpci:
    8172             :     case ARM::t2PLIpci: {
    8173             :       // op: addr
    8174           4 :       op = getAddrModeImm12OpValue(MI, 0, Fixups, STI);
    8175           4 :       Value |= (op & UINT64_C(4096)) << 11;
    8176           4 :       Value |= op & UINT64_C(4095);
    8177           4 :       break;
    8178             :     }
    8179             :     case ARM::t2LDAEXB:
    8180             :     case ARM::t2LDAEXH:
    8181             :     case ARM::t2LDREXB:
    8182             :     case ARM::t2LDREXH: {
    8183             :       // op: addr
    8184          20 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8185          20 :       Value |= (op & UINT64_C(15)) << 16;
    8186             :       // op: Rt
    8187          20 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8188          20 :       Value |= (op & UINT64_C(15)) << 12;
    8189          20 :       break;
    8190             :     }
    8191             :     case ARM::t2LDAEXD:
    8192             :     case ARM::t2LDREXD: {
    8193             :       // op: addr
    8194           8 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8195           8 :       Value |= (op & UINT64_C(15)) << 16;
    8196             :       // op: Rt
    8197           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8198           8 :       Value |= (op & UINT64_C(15)) << 12;
    8199             :       // op: Rt2
    8200           8 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8201           8 :       Value |= (op & UINT64_C(15)) << 8;
    8202           8 :       break;
    8203             :     }
    8204           6 :     case ARM::t2PLDWi8:
    8205             :     case ARM::t2PLDi8:
    8206             :     case ARM::t2PLIi8: {
    8207             :       // op: addr
    8208           6 :       op = getT2AddrModeImm8OpValue(MI, 0, Fixups, STI);
    8209           6 :       Value |= (op & UINT64_C(7680)) << 7;
    8210           6 :       Value |= op & UINT64_C(255);
    8211           6 :       break;
    8212             :     }
    8213          24 :     case ARM::t2PLDWs:
    8214             :     case ARM::t2PLDs:
    8215             :     case ARM::t2PLIs: {
    8216             :       // op: addr
    8217          24 :       op = getT2AddrModeSORegOpValue(MI, 0, Fixups, STI);
    8218          24 :       Value |= (op & UINT64_C(960)) << 10;
    8219          24 :       Value |= (op & UINT64_C(3)) << 4;
    8220          24 :       Value |= (op & UINT64_C(60)) >> 2;
    8221          24 :       break;
    8222             :     }
    8223             :     case ARM::t2MSRbanked: {
    8224             :       // op: banked
    8225          33 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8226          33 :       Value |= (op & UINT64_C(32)) << 15;
    8227          33 :       Value |= (op & UINT64_C(15)) << 8;
    8228          33 :       Value |= op & UINT64_C(16);
    8229             :       // op: Rn
    8230          33 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8231          33 :       Value |= (op & UINT64_C(15)) << 16;
    8232          33 :       break;
    8233             :     }
    8234             :     case ARM::t2MRSbanked: {
    8235             :       // op: banked
    8236          33 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8237          33 :       Value |= (op & UINT64_C(32)) << 15;
    8238          33 :       Value |= (op & UINT64_C(15)) << 16;
    8239          33 :       Value |= op & UINT64_C(16);
    8240             :       // op: Rd
    8241          33 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8242          33 :       Value |= (op & UINT64_C(15)) << 8;
    8243          33 :       break;
    8244             :     }
    8245             :     case ARM::t2IT: {
    8246             :       // op: cc
    8247        2769 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8248        2769 :       Value |= (op & UINT64_C(15)) << 4;
    8249             :       // op: mask
    8250        2769 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8251        2769 :       Value |= op & UINT64_C(15);
    8252        2769 :       break;
    8253             :     }
    8254             :     case ARM::tADDrSPi: {
    8255             :       // op: dst
    8256         495 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8257         495 :       Value |= (op & UINT64_C(7)) << 8;
    8258             :       // op: imm
    8259         495 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8260         495 :       Value |= op & UINT64_C(255);
    8261         495 :       break;
    8262             :     }
    8263             :     case ARM::BX: {
    8264             :       // op: dst
    8265           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8266           0 :       Value |= op & UINT64_C(15);
    8267           0 :       break;
    8268             :     }
    8269             :     case ARM::tPICADD: {
    8270             :       // op: dst
    8271           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8272           0 :       Value |= op & UINT64_C(7);
    8273           0 :       break;
    8274             :     }
    8275             :     case ARM::tSETEND: {
    8276             :       // op: end
    8277          11 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8278          11 :       Value |= (op & UINT64_C(1)) << 3;
    8279          11 :       break;
    8280             :     }
    8281             :     case ARM::SETEND: {
    8282             :       // op: end
    8283          11 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8284          11 :       Value |= (op & UINT64_C(1)) << 9;
    8285          11 :       break;
    8286             :     }
    8287         709 :     case ARM::BL: {
    8288             :       // op: func
    8289         709 :       op = getARMBLTargetOpValue(MI, 0, Fixups, STI);
    8290         709 :       Value |= op & UINT64_C(16777215);
    8291         709 :       break;
    8292             :     }
    8293             :     case ARM::t2BXJ: {
    8294             :       // op: func
    8295          10 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8296          10 :       Value |= (op & UINT64_C(15)) << 16;
    8297          10 :       break;
    8298             :     }
    8299             :     case ARM::BLX: {
    8300             :       // op: func
    8301          20 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8302          20 :       Value |= op & UINT64_C(15);
    8303          20 :       break;
    8304             :     }
    8305             :     case ARM::tBLXNSr:
    8306             :     case ARM::tBLXr: {
    8307             :       // op: func
    8308          42 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8309          42 :       Value |= (op & UINT64_C(15)) << 3;
    8310          42 :       break;
    8311             :     }
    8312         981 :     case ARM::tBL: {
    8313             :       // op: func
    8314         981 :       op = getThumbBLTargetOpValue(MI, 2, Fixups, STI);
    8315         981 :       Value |= (op & UINT64_C(8388608)) << 3;
    8316         981 :       Value |= (op & UINT64_C(2095104)) << 5;
    8317         981 :       Value |= (op & UINT64_C(4194304)) >> 9;
    8318         981 :       Value |= (op & UINT64_C(2097152)) >> 10;
    8319         981 :       Value |= op & UINT64_C(2047);
    8320         981 :       break;
    8321             :     }
    8322          33 :     case ARM::tBLXi: {
    8323             :       // op: func
    8324          33 :       op = getThumbBLXTargetOpValue(MI, 2, Fixups, STI);
    8325          33 :       Value |= (op & UINT64_C(8388608)) << 3;
    8326          33 :       Value |= (op & UINT64_C(2095104)) << 5;
    8327          33 :       Value |= (op & UINT64_C(4194304)) >> 9;
    8328          33 :       Value |= (op & UINT64_C(2097152)) >> 10;
    8329          33 :       Value |= op & UINT64_C(2046);
    8330          33 :       break;
    8331             :     }
    8332             :     case ARM::t2SETPAN: {
    8333             :       // op: imm
    8334           2 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8335           2 :       Value |= (op & UINT64_C(1)) << 3;
    8336           2 :       break;
    8337             :     }
    8338             :     case ARM::SETPAN: {
    8339             :       // op: imm
    8340           2 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8341           2 :       Value |= (op & UINT64_C(1)) << 9;
    8342           2 :       break;
    8343             :     }
    8344             :     case ARM::tHINT: {
    8345             :       // op: imm
    8346         162 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8347         162 :       Value |= (op & UINT64_C(15)) << 4;
    8348         162 :       break;
    8349             :     }
    8350             :     case ARM::HVC: {
    8351             :       // op: imm
    8352           4 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8353           4 :       Value |= (op & UINT64_C(65520)) << 4;
    8354           4 :       Value |= op & UINT64_C(15);
    8355           4 :       break;
    8356             :     }
    8357             :     case ARM::t2HINT:
    8358             :     case ARM::t2SUBS_PC_LR:
    8359             :     case ARM::tSVC: {
    8360             :       // op: imm
    8361          64 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8362          64 :       Value |= op & UINT64_C(255);
    8363          64 :       break;
    8364             :     }
    8365             :     case ARM::tADDspi:
    8366             :     case ARM::tSUBspi: {
    8367             :       // op: imm
    8368         510 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8369         510 :       Value |= op & UINT64_C(127);
    8370         510 :       break;
    8371             :     }
    8372             :     case ARM::t2HVC:
    8373             :     case ARM::t2UDF: {
    8374             :       // op: imm16
    8375          10 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8376          10 :       Value |= (op & UINT64_C(61440)) << 4;
    8377          10 :       Value |= op & UINT64_C(4095);
    8378          10 :       break;
    8379             :     }
    8380             :     case ARM::UDF: {
    8381             :       // op: imm16
    8382           1 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8383           1 :       Value |= (op & UINT64_C(65520)) << 4;
    8384           1 :       Value |= op & UINT64_C(15);
    8385           1 :       break;
    8386             :     }
    8387             :     case ARM::tUDF: {
    8388             :       // op: imm8
    8389           2 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8390           2 :       Value |= op & UINT64_C(255);
    8391           2 :       break;
    8392             :     }
    8393             :     case ARM::tCPS: {
    8394             :       // op: imod
    8395          17 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8396          17 :       Value |= (op & UINT64_C(1)) << 4;
    8397             :       // op: iflags
    8398          17 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8399          17 :       Value |= op & UINT64_C(7);
    8400          17 :       break;
    8401             :     }
    8402             :     case ARM::CPS2p: {
    8403             :       // op: imod
    8404           4 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8405           4 :       Value |= (op & UINT64_C(3)) << 18;
    8406             :       // op: iflags
    8407           4 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8408           4 :       Value |= (op & UINT64_C(7)) << 6;
    8409           4 :       break;
    8410             :     }
    8411             :     case ARM::CPS3p: {
    8412             :       // op: imod
    8413           5 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8414           5 :       Value |= (op & UINT64_C(3)) << 18;
    8415             :       // op: iflags
    8416           5 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8417           5 :       Value |= (op & UINT64_C(7)) << 6;
    8418             :       // op: mode
    8419           5 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8420           5 :       Value |= op & UINT64_C(31);
    8421           5 :       break;
    8422             :     }
    8423             :     case ARM::t2CPS2p: {
    8424             :       // op: imod
    8425           4 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8426           4 :       Value |= (op & UINT64_C(3)) << 9;
    8427             :       // op: iflags
    8428           4 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8429           4 :       Value |= (op & UINT64_C(7)) << 5;
    8430           4 :       break;
    8431             :     }
    8432             :     case ARM::t2CPS3p: {
    8433             :       // op: imod
    8434          12 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8435          12 :       Value |= (op & UINT64_C(3)) << 9;
    8436             :       // op: iflags
    8437          12 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8438          12 :       Value |= (op & UINT64_C(7)) << 5;
    8439             :       // op: mode
    8440          12 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8441          12 :       Value |= op & UINT64_C(31);
    8442          12 :       break;
    8443             :     }
    8444             :     case ARM::t2MSR_AR: {
    8445             :       // op: mask
    8446          31 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8447          31 :       Value |= (op & UINT64_C(16)) << 16;
    8448          31 :       Value |= (op & UINT64_C(15)) << 8;
    8449             :       // op: Rn
    8450          31 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8451          31 :       Value |= (op & UINT64_C(15)) << 16;
    8452          31 :       break;
    8453             :     }
    8454             :     case ARM::CPS1p:
    8455             :     case ARM::SRSDA:
    8456             :     case ARM::SRSDA_UPD:
    8457             :     case ARM::SRSDB:
    8458             :     case ARM::SRSDB_UPD:
    8459             :     case ARM::SRSIA:
    8460             :     case ARM::SRSIA_UPD:
    8461             :     case ARM::SRSIB:
    8462             :     case ARM::SRSIB_UPD:
    8463             :     case ARM::t2CPS1p:
    8464             :     case ARM::t2SRSDB:
    8465             :     case ARM::t2SRSDB_UPD:
    8466             :     case ARM::t2SRSIA:
    8467             :     case ARM::t2SRSIA_UPD: {
    8468             :       // op: mode
    8469         122 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8470         122 :       Value |= op & UINT64_C(31);
    8471         122 :       break;
    8472             :     }
    8473             :     case ARM::LDC2L_POST:
    8474             :     case ARM::LDC2_POST:
    8475             :     case ARM::STC2L_POST:
    8476             :     case ARM::STC2_POST:
    8477             :     case ARM::t2LDC2L_POST:
    8478             :     case ARM::t2LDC2_POST:
    8479             :     case ARM::t2LDCL_POST:
    8480             :     case ARM::t2LDC_POST:
    8481             :     case ARM::t2STC2L_POST:
    8482             :     case ARM::t2STC2_POST:
    8483             :     case ARM::t2STCL_POST:
    8484             :     case ARM::t2STC_POST: {
    8485             :       // op: offset
    8486         176 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    8487         176 :       Value |= (op & UINT64_C(256)) << 15;
    8488         176 :       Value |= op & UINT64_C(255);
    8489             :       // op: addr
    8490         176 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8491         176 :       Value |= (op & UINT64_C(15)) << 16;
    8492             :       // op: cop
    8493         176 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8494         176 :       Value |= (op & UINT64_C(15)) << 8;
    8495             :       // op: CRd
    8496         176 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8497         176 :       Value |= (op & UINT64_C(15)) << 12;
    8498         176 :       break;
    8499             :     }
    8500             :     case ARM::CDP2:
    8501             :     case ARM::t2CDP:
    8502             :     case ARM::t2CDP2: {
    8503             :       // op: opc1
    8504          23 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8505          23 :       Value |= (op & UINT64_C(15)) << 20;
    8506             :       // op: CRn
    8507          23 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    8508          23 :       Value |= (op & UINT64_C(15)) << 16;
    8509             :       // op: CRd
    8510          23 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8511          23 :       Value |= (op & UINT64_C(15)) << 12;
    8512             :       // op: cop
    8513          23 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8514          23 :       Value |= (op & UINT64_C(15)) << 8;
    8515             :       // op: opc2
    8516          23 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
    8517          23 :       Value |= (op & UINT64_C(7)) << 5;
    8518             :       // op: CRm
    8519          23 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    8520          23 :       Value |= op & UINT64_C(15);
    8521          23 :       break;
    8522             :     }
    8523             :     case ARM::t2SMC: {
    8524             :       // op: opt
    8525           3 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8526           3 :       Value |= (op & UINT64_C(15)) << 16;
    8527           3 :       break;
    8528             :     }
    8529             :     case ARM::DMB:
    8530             :     case ARM::DSB:
    8531             :     case ARM::ISB:
    8532             :     case ARM::t2DBG:
    8533             :     case ARM::t2DMB:
    8534             :     case ARM::t2DSB:
    8535             :     case ARM::t2ISB: {
    8536             :       // op: opt
    8537         312 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8538         312 :       Value |= op & UINT64_C(15);
    8539         312 :       break;
    8540             :     }
    8541             :     case ARM::LDC2L_OPTION:
    8542             :     case ARM::LDC2_OPTION:
    8543             :     case ARM::STC2L_OPTION:
    8544             :     case ARM::STC2_OPTION:
    8545             :     case ARM::t2LDC2L_OPTION:
    8546             :     case ARM::t2LDC2_OPTION:
    8547             :     case ARM::t2LDCL_OPTION:
    8548             :     case ARM::t2LDC_OPTION:
    8549             :     case ARM::t2STC2L_OPTION:
    8550             :     case ARM::t2STC2_OPTION:
    8551             :     case ARM::t2STCL_OPTION:
    8552             :     case ARM::t2STC_OPTION: {
    8553             :       // op: option
    8554          88 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    8555          88 :       Value |= op & UINT64_C(255);
    8556             :       // op: addr
    8557          88 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8558          88 :       Value |= (op & UINT64_C(15)) << 16;
    8559             :       // op: cop
    8560          88 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8561          88 :       Value |= (op & UINT64_C(15)) << 8;
    8562             :       // op: CRd
    8563          88 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8564          88 :       Value |= (op & UINT64_C(15)) << 12;
    8565          88 :       break;
    8566             :     }
    8567             :     case ARM::BX_RET:
    8568             :     case ARM::ERET:
    8569             :     case ARM::MOVPCLR: {
    8570             :       // op: p
    8571         358 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8572         358 :       Value |= (op & UINT64_C(15)) << 28;
    8573         358 :       break;
    8574             :     }
    8575             :     case ARM::FMSTAT: {
    8576             :       // op: p
    8577          49 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8578          49 :       Value |= (op & UINT64_C(15)) << 28;
    8579          49 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8580          49 :       break;
    8581             :     }
    8582             :     case ARM::t2Bcc: {
    8583             :       // op: p
    8584         113 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8585         113 :       Value |= (op & UINT64_C(15)) << 22;
    8586             :       // op: target
    8587         113 :       op = getBranchTargetOpValue(MI, 0, Fixups, STI);
    8588         113 :       Value |= (op & UINT64_C(1048576)) << 6;
    8589         113 :       Value |= (op & UINT64_C(258048)) << 4;
    8590         113 :       Value |= (op & UINT64_C(262144)) >> 5;
    8591         113 :       Value |= (op & UINT64_C(524288)) >> 8;
    8592         113 :       Value |= (op & UINT64_C(4094)) >> 1;
    8593         113 :       break;
    8594             :     }
    8595             :     case ARM::VCMPEZD:
    8596             :     case ARM::VCMPZD: {
    8597             :       // op: p
    8598           2 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8599           2 :       Value |= (op & UINT64_C(15)) << 28;
    8600             :       // op: Dd
    8601           2 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8602           2 :       Value |= (op & UINT64_C(16)) << 18;
    8603           2 :       Value |= (op & UINT64_C(15)) << 12;
    8604           2 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8605           2 :       break;
    8606             :     }
    8607             :     case ARM::MRS:
    8608             :     case ARM::MRSsys: {
    8609             :       // op: p
    8610           7 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8611           7 :       Value |= (op & UINT64_C(15)) << 28;
    8612             :       // op: Rd
    8613           7 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8614           7 :       Value |= (op & UINT64_C(15)) << 12;
    8615           7 :       break;
    8616             :     }
    8617             :     case ARM::VLDMSIA:
    8618             :     case ARM::VSTMSIA: {
    8619             :       // op: p
    8620           4 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8621           4 :       Value |= (op & UINT64_C(15)) << 28;
    8622             :       // op: Rn
    8623           4 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8624           4 :       Value |= (op & UINT64_C(15)) << 16;
    8625             :       // op: regs
    8626           4 :       op = getRegisterListOpValue(MI, 3, Fixups, STI);
    8627           4 :       Value |= (op & UINT64_C(256)) << 14;
    8628           4 :       Value |= (op & UINT64_C(7680)) << 3;
    8629           4 :       Value |= op & UINT64_C(255);
    8630           4 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8631           4 :       break;
    8632             :     }
    8633             :     case ARM::FLDMXIA:
    8634             :     case ARM::FSTMXIA: {
    8635             :       // op: p
    8636           2 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8637           2 :       Value |= (op & UINT64_C(15)) << 28;
    8638             :       // op: Rn
    8639           2 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8640           2 :       Value |= (op & UINT64_C(15)) << 16;
    8641             :       // op: regs
    8642           2 :       op = getRegisterListOpValue(MI, 3, Fixups, STI);
    8643           2 :       Value |= (op & UINT64_C(3840)) << 4;
    8644           2 :       Value |= op & UINT64_C(254);
    8645           2 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8646           2 :       break;
    8647             :     }
    8648             :     case ARM::VLDMDIA:
    8649             :     case ARM::VSTMDIA: {
    8650             :       // op: p
    8651           6 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8652           6 :       Value |= (op & UINT64_C(15)) << 28;
    8653             :       // op: Rn
    8654           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8655           6 :       Value |= (op & UINT64_C(15)) << 16;
    8656             :       // op: regs
    8657           6 :       op = getRegisterListOpValue(MI, 3, Fixups, STI);
    8658           6 :       Value |= (op & UINT64_C(4096)) << 10;
    8659           6 :       Value |= (op & UINT64_C(3840)) << 4;
    8660           6 :       Value |= op & UINT64_C(254);
    8661           6 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8662           6 :       break;
    8663             :     }
    8664             :     case ARM::VLLDM:
    8665             :     case ARM::VLSTM: {
    8666             :       // op: p
    8667           4 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8668           4 :       Value |= (op & UINT64_C(15)) << 28;
    8669             :       // op: Rn
    8670           4 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8671           4 :       Value |= (op & UINT64_C(15)) << 16;
    8672           4 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8673           4 :       break;
    8674             :     }
    8675             :     case ARM::VMRS:
    8676             :     case ARM::VMRS_FPEXC:
    8677             :     case ARM::VMRS_FPINST:
    8678             :     case ARM::VMRS_FPINST2:
    8679             :     case ARM::VMRS_FPSID:
    8680             :     case ARM::VMRS_MVFR0:
    8681             :     case ARM::VMRS_MVFR1:
    8682             :     case ARM::VMRS_MVFR2: {
    8683             :       // op: p
    8684         107 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8685         107 :       Value |= (op & UINT64_C(15)) << 28;
    8686             :       // op: Rt
    8687         107 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8688         107 :       Value |= (op & UINT64_C(15)) << 12;
    8689         107 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8690         107 :       break;
    8691             :     }
    8692             :     case ARM::VCMPEZH:
    8693             :     case ARM::VCMPEZS:
    8694             :     case ARM::VCMPZH:
    8695             :     case ARM::VCMPZS: {
    8696             :       // op: p
    8697          10 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8698          10 :       Value |= (op & UINT64_C(15)) << 28;
    8699             :       // op: Sd
    8700          10 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8701          10 :       Value |= (op & UINT64_C(1)) << 22;
    8702          10 :       Value |= (op & UINT64_C(30)) << 11;
    8703          10 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8704          10 :       break;
    8705             :     }
    8706             :     case ARM::BX_pred: {
    8707             :       // op: p
    8708          18 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8709          18 :       Value |= (op & UINT64_C(15)) << 28;
    8710             :       // op: dst
    8711          18 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8712          18 :       Value |= op & UINT64_C(15);
    8713          18 :       break;
    8714             :     }
    8715             :     case ARM::BL_pred: {
    8716             :       // op: p
    8717          83 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8718          83 :       Value |= (op & UINT64_C(15)) << 28;
    8719             :       // op: func
    8720          83 :       op = getARMBLTargetOpValue(MI, 0, Fixups, STI);
    8721          83 :       Value |= op & UINT64_C(16777215);
    8722          83 :       break;
    8723             :     }
    8724             :     case ARM::BLX_pred:
    8725             :     case ARM::BXJ: {
    8726             :       // op: p
    8727          10 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8728          10 :       Value |= (op & UINT64_C(15)) << 28;
    8729             :       // op: func
    8730          10 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8731          10 :       Value |= op & UINT64_C(15);
    8732          10 :       break;
    8733             :     }
    8734             :     case ARM::HINT: {
    8735             :       // op: p
    8736          82 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8737          82 :       Value |= (op & UINT64_C(15)) << 28;
    8738             :       // op: imm
    8739          82 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8740          82 :       Value |= op & UINT64_C(255);
    8741          82 :       break;
    8742             :     }
    8743             :     case ARM::DBG:
    8744             :     case ARM::SMC: {
    8745             :       // op: p
    8746          10 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8747          10 :       Value |= (op & UINT64_C(15)) << 28;
    8748             :       // op: opt
    8749          10 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8750          10 :       Value |= op & UINT64_C(15);
    8751          10 :       break;
    8752             :     }
    8753             :     case ARM::LDMDA:
    8754             :     case ARM::LDMDB:
    8755             :     case ARM::LDMIA:
    8756             :     case ARM::LDMIB:
    8757             :     case ARM::STMDA:
    8758             :     case ARM::STMDB:
    8759             :     case ARM::STMIA:
    8760             :     case ARM::STMIB:
    8761             :     case ARM::sysLDMDA:
    8762             :     case ARM::sysLDMDB:
    8763             :     case ARM::sysLDMIA:
    8764             :     case ARM::sysLDMIB:
    8765             :     case ARM::sysSTMDA:
    8766             :     case ARM::sysSTMDB:
    8767             :     case ARM::sysSTMIA:
    8768             :     case ARM::sysSTMIB: {
    8769             :       // op: p
    8770         164 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8771         164 :       Value |= (op & UINT64_C(15)) << 28;
    8772             :       // op: regs
    8773         164 :       op = getRegisterListOpValue(MI, 3, Fixups, STI);
    8774         164 :       Value |= op & UINT64_C(65535);
    8775             :       // op: Rn
    8776         164 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8777         164 :       Value |= (op & UINT64_C(15)) << 16;
    8778         164 :       break;
    8779             :     }
    8780             :     case ARM::VMSR:
    8781             :     case ARM::VMSR_FPEXC:
    8782             :     case ARM::VMSR_FPINST:
    8783             :     case ARM::VMSR_FPINST2:
    8784             :     case ARM::VMSR_FPSID: {
    8785             :       // op: p
    8786          86 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8787          86 :       Value |= (op & UINT64_C(15)) << 28;
    8788             :       // op: src
    8789          86 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8790          86 :       Value |= (op & UINT64_C(15)) << 12;
    8791          86 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8792          86 :       break;
    8793             :     }
    8794             :     case ARM::SVC: {
    8795             :       // op: p
    8796           8 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8797           8 :       Value |= (op & UINT64_C(15)) << 28;
    8798             :       // op: svc
    8799           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8800           8 :       Value |= op & UINT64_C(16777215);
    8801           8 :       break;
    8802             :     }
    8803             :     case ARM::Bcc: {
    8804             :       // op: p
    8805         234 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8806         234 :       Value |= (op & UINT64_C(15)) << 28;
    8807             :       // op: target
    8808         234 :       op = getARMBranchTargetOpValue(MI, 0, Fixups, STI);
    8809         234 :       Value |= op & UINT64_C(16777215);
    8810         234 :       break;
    8811             :     }
    8812             :     case ARM::tBcc: {
    8813             :       // op: p
    8814         220 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8815         220 :       Value |= (op & UINT64_C(15)) << 8;
    8816             :       // op: target
    8817         220 :       op = getThumbBCCTargetOpValue(MI, 0, Fixups, STI);
    8818         220 :       Value |= op & UINT64_C(255);
    8819         220 :       break;
    8820             :     }
    8821             :     case ARM::VABSD:
    8822             :     case ARM::VCMPD:
    8823             :     case ARM::VCMPED:
    8824             :     case ARM::VMOVD:
    8825             :     case ARM::VNEGD:
    8826             :     case ARM::VRINTRD:
    8827             :     case ARM::VRINTXD:
    8828             :     case ARM::VRINTZD:
    8829             :     case ARM::VSQRTD: {
    8830             :       // op: p
    8831         126 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8832         126 :       Value |= (op & UINT64_C(15)) << 28;
    8833             :       // op: Dd
    8834         126 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8835         126 :       Value |= (op & UINT64_C(16)) << 18;
    8836         126 :       Value |= (op & UINT64_C(15)) << 12;
    8837             :       // op: Dm
    8838         126 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8839         126 :       Value |= (op & UINT64_C(16)) << 1;
    8840         126 :       Value |= op & UINT64_C(15);
    8841         126 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8842         126 :       break;
    8843             :     }
    8844             :     case ARM::VCVTBHD:
    8845             :     case ARM::VCVTTHD:
    8846             :     case ARM::VSITOD:
    8847             :     case ARM::VUITOD: {
    8848             :       // op: p
    8849          20 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8850          20 :       Value |= (op & UINT64_C(15)) << 28;
    8851             :       // op: Dd
    8852          20 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8853          20 :       Value |= (op & UINT64_C(16)) << 18;
    8854          20 :       Value |= (op & UINT64_C(15)) << 12;
    8855             :       // op: Sm
    8856          20 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8857          20 :       Value |= (op & UINT64_C(1)) << 5;
    8858          20 :       Value |= (op & UINT64_C(30)) >> 1;
    8859          20 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8860          20 :       break;
    8861             :     }
    8862             :     case ARM::FCONSTD: {
    8863             :       // op: p
    8864          10 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8865          10 :       Value |= (op & UINT64_C(15)) << 28;
    8866             :       // op: Dd
    8867          10 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8868          10 :       Value |= (op & UINT64_C(16)) << 18;
    8869          10 :       Value |= (op & UINT64_C(15)) << 12;
    8870             :       // op: imm
    8871          10 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8872          10 :       Value |= (op & UINT64_C(240)) << 12;
    8873          10 :       Value |= op & UINT64_C(15);
    8874          10 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8875          10 :       break;
    8876             :     }
    8877             :     case ARM::VCVTBDH:
    8878             :     case ARM::VCVTTDH: {
    8879             :       // op: p
    8880          17 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8881          17 :       Value |= (op & UINT64_C(15)) << 28;
    8882             :       // op: Dm
    8883          17 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8884          17 :       Value |= (op & UINT64_C(16)) << 1;
    8885          17 :       Value |= op & UINT64_C(15);
    8886             :       // op: Sd
    8887          17 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8888          17 :       Value |= (op & UINT64_C(1)) << 22;
    8889          17 :       Value |= (op & UINT64_C(30)) << 11;
    8890          17 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8891          17 :       break;
    8892             :     }
    8893             :     case ARM::CLZ:
    8894             :     case ARM::RBIT:
    8895             :     case ARM::REV:
    8896             :     case ARM::REV16:
    8897             :     case ARM::REVSH: {
    8898             :       // op: p
    8899          27 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8900          27 :       Value |= (op & UINT64_C(15)) << 28;
    8901             :       // op: Rd
    8902          27 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8903          27 :       Value |= (op & UINT64_C(15)) << 12;
    8904             :       // op: Rm
    8905          27 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8906          27 :       Value |= op & UINT64_C(15);
    8907          27 :       break;
    8908             :     }
    8909             :     case ARM::MOVi16: {
    8910             :       // op: p
    8911         269 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8912         269 :       Value |= (op & UINT64_C(15)) << 28;
    8913             :       // op: Rd
    8914         269 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8915         269 :       Value |= (op & UINT64_C(15)) << 12;
    8916             :       // op: imm
    8917         269 :       op = getHiLo16ImmOpValue(MI, 1, Fixups, STI);
    8918         269 :       Value |= (op & UINT64_C(61440)) << 4;
    8919         269 :       Value |= op & UINT64_C(4095);
    8920         269 :       break;
    8921             :     }
    8922             :     case ARM::ADR: {
    8923             :       // op: p
    8924          30 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8925          30 :       Value |= (op & UINT64_C(15)) << 28;
    8926             :       // op: Rd
    8927          30 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8928          30 :       Value |= (op & UINT64_C(15)) << 12;
    8929             :       // op: label
    8930          30 :       op = getAdrLabelOpValue(MI, 1, Fixups, STI);
    8931          30 :       Value |= (op & UINT64_C(12288)) << 10;
    8932          30 :       Value |= op & UINT64_C(4095);
    8933          30 :       break;
    8934             :     }
    8935             :     case ARM::CMNzrr:
    8936             :     case ARM::CMPrr:
    8937             :     case ARM::TEQrr:
    8938             :     case ARM::TSTrr: {
    8939             :       // op: p
    8940          24 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8941          24 :       Value |= (op & UINT64_C(15)) << 28;
    8942             :       // op: Rn
    8943          24 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8944          24 :       Value |= (op & UINT64_C(15)) << 16;
    8945             :       // op: Rm
    8946          24 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8947          24 :       Value |= op & UINT64_C(15);
    8948          24 :       break;
    8949             :     }
    8950             :     case ARM::CMNri:
    8951             :     case ARM::CMPri:
    8952             :     case ARM::TEQri:
    8953             :     case ARM::TSTri: {
    8954             :       // op: p
    8955         106 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8956         106 :       Value |= (op & UINT64_C(15)) << 28;
    8957             :       // op: Rn
    8958         106 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    8959         106 :       Value |= (op & UINT64_C(15)) << 16;
    8960             :       // op: imm
    8961         106 :       op = getModImmOpValue(MI, 1, Fixups, STI);
    8962         106 :       Value |= op & UINT64_C(4095);
    8963         106 :       break;
    8964             :     }
    8965             :     case ARM::VLDMSDB_UPD:
    8966             :     case ARM::VLDMSIA_UPD:
    8967             :     case ARM::VSTMSDB_UPD:
    8968             :     case ARM::VSTMSIA_UPD: {
    8969             :       // op: p
    8970           8 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8971           8 :       Value |= (op & UINT64_C(15)) << 28;
    8972             :       // op: Rn
    8973           8 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8974           8 :       Value |= (op & UINT64_C(15)) << 16;
    8975             :       // op: regs
    8976           8 :       op = getRegisterListOpValue(MI, 4, Fixups, STI);
    8977           8 :       Value |= (op & UINT64_C(256)) << 14;
    8978           8 :       Value |= (op & UINT64_C(7680)) << 3;
    8979           8 :       Value |= op & UINT64_C(255);
    8980           8 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8981           8 :       break;
    8982             :     }
    8983             :     case ARM::FLDMXDB_UPD:
    8984             :     case ARM::FLDMXIA_UPD:
    8985             :     case ARM::FSTMXDB_UPD:
    8986             :     case ARM::FSTMXIA_UPD: {
    8987             :       // op: p
    8988           4 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    8989           4 :       Value |= (op & UINT64_C(15)) << 28;
    8990             :       // op: Rn
    8991           4 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    8992           4 :       Value |= (op & UINT64_C(15)) << 16;
    8993             :       // op: regs
    8994           4 :       op = getRegisterListOpValue(MI, 4, Fixups, STI);
    8995           4 :       Value |= (op & UINT64_C(3840)) << 4;
    8996           4 :       Value |= op & UINT64_C(254);
    8997           4 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    8998           4 :       break;
    8999             :     }
    9000             :     case ARM::VLDMDDB_UPD:
    9001             :     case ARM::VLDMDIA_UPD:
    9002             :     case ARM::VSTMDDB_UPD:
    9003             :     case ARM::VSTMDIA_UPD: {
    9004             :       // op: p
    9005          42 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9006          42 :       Value |= (op & UINT64_C(15)) << 28;
    9007             :       // op: Rn
    9008          42 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9009          42 :       Value |= (op & UINT64_C(15)) << 16;
    9010             :       // op: regs
    9011          42 :       op = getRegisterListOpValue(MI, 4, Fixups, STI);
    9012          42 :       Value |= (op & UINT64_C(4096)) << 10;
    9013          42 :       Value |= (op & UINT64_C(3840)) << 4;
    9014          42 :       Value |= op & UINT64_C(254);
    9015          42 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    9016          42 :       break;
    9017             :     }
    9018             :     case ARM::VMOVRH:
    9019             :     case ARM::VMOVRS: {
    9020             :       // op: p
    9021         172 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9022         172 :       Value |= (op & UINT64_C(15)) << 28;
    9023             :       // op: Rt
    9024         172 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9025         172 :       Value |= (op & UINT64_C(15)) << 12;
    9026             :       // op: Sn
    9027         172 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9028         172 :       Value |= (op & UINT64_C(30)) << 15;
    9029         172 :       Value |= (op & UINT64_C(1)) << 7;
    9030         172 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    9031         172 :       break;
    9032             :     }
    9033             :     case ARM::LDA:
    9034             :     case ARM::LDAB:
    9035             :     case ARM::LDAEX:
    9036             :     case ARM::LDAEXB:
    9037             :     case ARM::LDAEXD:
    9038             :     case ARM::LDAEXH:
    9039             :     case ARM::LDAH:
    9040             :     case ARM::LDREX:
    9041             :     case ARM::LDREXB:
    9042             :     case ARM::LDREXD:
    9043             :     case ARM::LDREXH: {
    9044             :       // op: p
    9045          27 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9046          27 :       Value |= (op & UINT64_C(15)) << 28;
    9047             :       // op: Rt
    9048          27 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9049          27 :       Value |= (op & UINT64_C(15)) << 12;
    9050             :       // op: addr
    9051          27 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9052          27 :       Value |= (op & UINT64_C(15)) << 16;
    9053          27 :       break;
    9054             :     }
    9055             :     case ARM::STL:
    9056             :     case ARM::STLB:
    9057             :     case ARM::STLH: {
    9058             :       // op: p
    9059           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9060           6 :       Value |= (op & UINT64_C(15)) << 28;
    9061             :       // op: Rt
    9062           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9063           6 :       Value |= op & UINT64_C(15);
    9064             :       // op: addr
    9065           6 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9066           6 :       Value |= (op & UINT64_C(15)) << 16;
    9067           6 :       break;
    9068             :     }
    9069             :     case ARM::VCVTSD:
    9070             :     case ARM::VJCVT:
    9071             :     case ARM::VTOSIRD:
    9072             :     case ARM::VTOSIZD:
    9073             :     case ARM::VTOUIRD:
    9074             :     case ARM::VTOUIZD: {
    9075             :       // op: p
    9076          10 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9077          10 :       Value |= (op & UINT64_C(15)) << 28;
    9078             :       // op: Sd
    9079          10 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9080          10 :       Value |= (op & UINT64_C(1)) << 22;
    9081          10 :       Value |= (op & UINT64_C(30)) << 11;
    9082             :       // op: Dm
    9083          10 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9084          10 :       Value |= (op & UINT64_C(16)) << 1;
    9085          10 :       Value |= op & UINT64_C(15);
    9086          10 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    9087          10 :       break;
    9088             :     }
    9089             :     case ARM::VABSH:
    9090             :     case ARM::VABSS:
    9091             :     case ARM::VCMPEH:
    9092             :     case ARM::VCMPES:
    9093             :     case ARM::VCMPH:
    9094             :     case ARM::VCMPS:
    9095             :     case ARM::VCVTBHS:
    9096             :     case ARM::VCVTBSH:
    9097             :     case ARM::VCVTTHS:
    9098             :     case ARM::VCVTTSH:
    9099             :     case ARM::VMOVS:
    9100             :     case ARM::VNEGH:
    9101             :     case ARM::VNEGS:
    9102             :     case ARM::VRINTRH:
    9103             :     case ARM::VRINTRS:
    9104             :     case ARM::VRINTXH:
    9105             :     case ARM::VRINTXS:
    9106             :     case ARM::VRINTZH:
    9107             :     case ARM::VRINTZS:
    9108             :     case ARM::VSITOH:
    9109             :     case ARM::VSITOS:
    9110             :     case ARM::VSQRTH:
    9111             :     case ARM::VSQRTS:
    9112             :     case ARM::VTOSIRH:
    9113             :     case ARM::VTOSIRS:
    9114             :     case ARM::VTOSIZH:
    9115             :     case ARM::VTOSIZS:
    9116             :     case ARM::VTOUIRH:
    9117             :     case ARM::VTOUIRS:
    9118             :     case ARM::VTOUIZH:
    9119             :     case ARM::VTOUIZS:
    9120             :     case ARM::VUITOH:
    9121             :     case ARM::VUITOS: {
    9122             :       // op: p
    9123         207 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9124         207 :       Value |= (op & UINT64_C(15)) << 28;
    9125             :       // op: Sd
    9126         207 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9127         207 :       Value |= (op & UINT64_C(1)) << 22;
    9128         207 :       Value |= (op & UINT64_C(30)) << 11;
    9129             :       // op: Sm
    9130         207 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9131         207 :       Value |= (op & UINT64_C(1)) << 5;
    9132         207 :       Value |= (op & UINT64_C(30)) >> 1;
    9133         207 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    9134         207 :       break;
    9135             :     }
    9136             :     case ARM::FCONSTH:
    9137             :     case ARM::FCONSTS: {
    9138             :       // op: p
    9139          49 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9140          49 :       Value |= (op & UINT64_C(15)) << 28;
    9141             :       // op: Sd
    9142          49 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9143          49 :       Value |= (op & UINT64_C(1)) << 22;
    9144          49 :       Value |= (op & UINT64_C(30)) << 11;
    9145             :       // op: imm
    9146          49 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9147          49 :       Value |= (op & UINT64_C(240)) << 12;
    9148          49 :       Value |= op & UINT64_C(15);
    9149          49 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    9150          49 :       break;
    9151             :     }
    9152             :     case ARM::VCVTDS: {
    9153             :       // op: p
    9154           2 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9155           2 :       Value |= (op & UINT64_C(15)) << 28;
    9156             :       // op: Sm
    9157           2 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9158           2 :       Value |= (op & UINT64_C(1)) << 5;
    9159           2 :       Value |= (op & UINT64_C(30)) >> 1;
    9160             :       // op: Dd
    9161           2 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9162           2 :       Value |= (op & UINT64_C(16)) << 18;
    9163           2 :       Value |= (op & UINT64_C(15)) << 12;
    9164           2 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    9165           2 :       break;
    9166             :     }
    9167             :     case ARM::VMOVHR:
    9168             :     case ARM::VMOVSR: {
    9169             :       // op: p
    9170          24 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9171          24 :       Value |= (op & UINT64_C(15)) << 28;
    9172             :       // op: Sn
    9173          24 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9174          24 :       Value |= (op & UINT64_C(30)) << 15;
    9175          24 :       Value |= (op & UINT64_C(1)) << 7;
    9176             :       // op: Rt
    9177          24 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9178          24 :       Value |= (op & UINT64_C(15)) << 12;
    9179          24 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    9180          24 :       break;
    9181             :     }
    9182             :     case ARM::MSRbanked: {
    9183             :       // op: p
    9184          33 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9185          33 :       Value |= (op & UINT64_C(15)) << 28;
    9186             :       // op: banked
    9187          33 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9188          33 :       Value |= (op & UINT64_C(32)) << 17;
    9189          33 :       Value |= (op & UINT64_C(15)) << 16;
    9190          33 :       Value |= (op & UINT64_C(16)) << 4;
    9191             :       // op: Rn
    9192          33 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9193          33 :       Value |= op & UINT64_C(15);
    9194          33 :       break;
    9195             :     }
    9196             :     case ARM::MRSbanked: {
    9197             :       // op: p
    9198          33 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9199          33 :       Value |= (op & UINT64_C(15)) << 28;
    9200             :       // op: banked
    9201          33 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9202          33 :       Value |= (op & UINT64_C(32)) << 17;
    9203          33 :       Value |= (op & UINT64_C(15)) << 16;
    9204          33 :       Value |= (op & UINT64_C(16)) << 4;
    9205             :       // op: Rd
    9206          33 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9207          33 :       Value |= (op & UINT64_C(15)) << 12;
    9208          33 :       break;
    9209             :     }
    9210             :     case ARM::MSR: {
    9211             :       // op: p
    9212          29 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9213          29 :       Value |= (op & UINT64_C(15)) << 28;
    9214             :       // op: mask
    9215          29 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9216          29 :       Value |= (op & UINT64_C(16)) << 18;
    9217          29 :       Value |= (op & UINT64_C(15)) << 16;
    9218             :       // op: Rn
    9219          29 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9220          29 :       Value |= op & UINT64_C(15);
    9221          29 :       break;
    9222             :     }
    9223             :     case ARM::MSRi: {
    9224             :       // op: p
    9225          46 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9226          46 :       Value |= (op & UINT64_C(15)) << 28;
    9227             :       // op: mask
    9228          46 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9229          46 :       Value |= (op & UINT64_C(16)) << 18;
    9230          46 :       Value |= (op & UINT64_C(15)) << 16;
    9231             :       // op: imm
    9232          46 :       op = getModImmOpValue(MI, 1, Fixups, STI);
    9233          46 :       Value |= op & UINT64_C(4095);
    9234          46 :       break;
    9235             :     }
    9236             :     case ARM::LDMDA_UPD:
    9237             :     case ARM::LDMDB_UPD:
    9238             :     case ARM::LDMIA_UPD:
    9239             :     case ARM::LDMIB_UPD:
    9240             :     case ARM::STMDA_UPD:
    9241             :     case ARM::STMDB_UPD:
    9242             :     case ARM::STMIA_UPD:
    9243             :     case ARM::STMIB_UPD:
    9244             :     case ARM::sysLDMDA_UPD:
    9245             :     case ARM::sysLDMDB_UPD:
    9246             :     case ARM::sysLDMIA_UPD:
    9247             :     case ARM::sysLDMIB_UPD:
    9248             :     case ARM::sysSTMDA_UPD:
    9249             :     case ARM::sysSTMDB_UPD:
    9250             :     case ARM::sysSTMIA_UPD:
    9251             :     case ARM::sysSTMIB_UPD: {
    9252             :       // op: p
    9253         457 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9254         457 :       Value |= (op & UINT64_C(15)) << 28;
    9255             :       // op: regs
    9256         457 :       op = getRegisterListOpValue(MI, 4, Fixups, STI);
    9257         457 :       Value |= op & UINT64_C(65535);
    9258             :       // op: Rn
    9259         457 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9260         457 :       Value |= (op & UINT64_C(15)) << 16;
    9261         457 :       break;
    9262             :     }
    9263             :     case ARM::MOVr:
    9264             :     case ARM::MOVr_TC:
    9265             :     case ARM::MVNr: {
    9266             :       // op: p
    9267         808 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9268         808 :       Value |= (op & UINT64_C(15)) << 28;
    9269             :       // op: s
    9270         808 :       op = getCCOutOpValue(MI, 4, Fixups, STI);
    9271         808 :       Value |= (op & UINT64_C(1)) << 20;
    9272             :       // op: Rd
    9273         808 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9274         808 :       Value |= (op & UINT64_C(15)) << 12;
    9275             :       // op: Rm
    9276         808 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9277         808 :       Value |= op & UINT64_C(15);
    9278         808 :       break;
    9279             :     }
    9280             :     case ARM::MOVi:
    9281             :     case ARM::MVNi: {
    9282             :       // op: p
    9283         521 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9284         521 :       Value |= (op & UINT64_C(15)) << 28;
    9285             :       // op: s
    9286         521 :       op = getCCOutOpValue(MI, 4, Fixups, STI);
    9287         521 :       Value |= (op & UINT64_C(1)) << 20;
    9288             :       // op: Rd
    9289         521 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9290         521 :       Value |= (op & UINT64_C(15)) << 12;
    9291             :       // op: imm
    9292         521 :       op = getModImmOpValue(MI, 1, Fixups, STI);
    9293         521 :       Value |= op & UINT64_C(4095);
    9294         521 :       break;
    9295             :     }
    9296             :     case ARM::VADDD:
    9297             :     case ARM::VDIVD:
    9298             :     case ARM::VMULD:
    9299             :     case ARM::VNMULD:
    9300             :     case ARM::VSUBD: {
    9301             :       // op: p
    9302          10 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9303          10 :       Value |= (op & UINT64_C(15)) << 28;
    9304             :       // op: Dd
    9305          10 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9306          10 :       Value |= (op & UINT64_C(16)) << 18;
    9307          10 :       Value |= (op & UINT64_C(15)) << 12;
    9308             :       // op: Dn
    9309          10 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9310          10 :       Value |= (op & UINT64_C(15)) << 16;
    9311          10 :       Value |= (op & UINT64_C(16)) << 3;
    9312             :       // op: Dm
    9313          10 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9314          10 :       Value |= (op & UINT64_C(16)) << 1;
    9315          10 :       Value |= op & UINT64_C(15);
    9316          10 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    9317          10 :       break;
    9318             :     }
    9319             :     case ARM::VLDRD:
    9320             :     case ARM::VSTRD: {
    9321             :       // op: p
    9322          15 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9323          15 :       Value |= (op & UINT64_C(15)) << 28;
    9324             :       // op: Dd
    9325          15 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9326          15 :       Value |= (op & UINT64_C(16)) << 18;
    9327          15 :       Value |= (op & UINT64_C(15)) << 12;
    9328             :       // op: addr
    9329          15 :       op = getAddrMode5OpValue(MI, 1, Fixups, STI);
    9330          15 :       Value |= (op & UINT64_C(256)) << 15;
    9331          15 :       Value |= (op & UINT64_C(7680)) << 7;
    9332          15 :       Value |= op & UINT64_C(255);
    9333          15 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    9334          15 :       break;
    9335             :     }
    9336             :     case ARM::VMOVDRR: {
    9337             :       // op: p
    9338          15 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9339          15 :       Value |= (op & UINT64_C(15)) << 28;
    9340             :       // op: Dm
    9341          15 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9342          15 :       Value |= (op & UINT64_C(16)) << 1;
    9343          15 :       Value |= op & UINT64_C(15);
    9344             :       // op: Rt
    9345          15 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9346          15 :       Value |= (op & UINT64_C(15)) << 12;
    9347             :       // op: Rt2
    9348          15 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9349          15 :       Value |= (op & UINT64_C(15)) << 16;
    9350          15 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    9351          15 :       break;
    9352             :     }
    9353             :     case ARM::VMOVRRD: {
    9354             :       // op: p
    9355           8 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9356           8 :       Value |= (op & UINT64_C(15)) << 28;
    9357             :       // op: Dm
    9358           8 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9359           8 :       Value |= (op & UINT64_C(16)) << 1;
    9360           8 :       Value |= op & UINT64_C(15);
    9361             :       // op: Rt
    9362           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9363           8 :       Value |= (op & UINT64_C(15)) << 12;
    9364             :       // op: Rt2
    9365           8 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9366           8 :       Value |= (op & UINT64_C(15)) << 16;
    9367           8 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    9368           8 :       break;
    9369             :     }
    9370             :     case ARM::SXTB:
    9371             :     case ARM::SXTB16:
    9372             :     case ARM::SXTH:
    9373             :     case ARM::UXTB:
    9374             :     case ARM::UXTB16:
    9375             :     case ARM::UXTH: {
    9376             :       // op: p
    9377          60 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9378          60 :       Value |= (op & UINT64_C(15)) << 28;
    9379             :       // op: Rd
    9380          60 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9381          60 :       Value |= (op & UINT64_C(15)) << 12;
    9382             :       // op: Rm
    9383          60 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9384          60 :       Value |= op & UINT64_C(15);
    9385             :       // op: rot
    9386          60 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9387          60 :       Value |= (op & UINT64_C(3)) << 10;
    9388          60 :       break;
    9389             :     }
    9390             :     case ARM::SEL: {
    9391             :       // op: p
    9392           4 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9393           4 :       Value |= (op & UINT64_C(15)) << 28;
    9394             :       // op: Rd
    9395           4 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9396           4 :       Value |= (op & UINT64_C(15)) << 12;
    9397             :       // op: Rn
    9398           4 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9399           4 :       Value |= (op & UINT64_C(15)) << 16;
    9400             :       // op: Rm
    9401           4 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9402           4 :       Value |= op & UINT64_C(15);
    9403           4 :       break;
    9404             :     }
    9405             :     case ARM::BFC: {
    9406             :       // op: p
    9407          30 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9408          30 :       Value |= (op & UINT64_C(15)) << 28;
    9409             :       // op: Rd
    9410          30 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9411          30 :       Value |= (op & UINT64_C(15)) << 12;
    9412             :       // op: imm
    9413          30 :       op = getBitfieldInvertedMaskOpValue(MI, 2, Fixups, STI);
    9414          30 :       Value |= (op & UINT64_C(992)) << 11;
    9415          30 :       Value |= (op & UINT64_C(31)) << 7;
    9416          30 :       break;
    9417             :     }
    9418             :     case ARM::MOVTi16: {
    9419             :       // op: p
    9420         201 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9421         201 :       Value |= (op & UINT64_C(15)) << 28;
    9422             :       // op: Rd
    9423         201 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9424         201 :       Value |= (op & UINT64_C(15)) << 12;
    9425             :       // op: imm
    9426         201 :       op = getHiLo16ImmOpValue(MI, 2, Fixups, STI);
    9427         201 :       Value |= (op & UINT64_C(61440)) << 4;
    9428         201 :       Value |= op & UINT64_C(4095);
    9429         201 :       break;
    9430             :     }
    9431             :     case ARM::SSAT16:
    9432             :     case ARM::USAT16: {
    9433             :       // op: p
    9434          11 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9435          11 :       Value |= (op & UINT64_C(15)) << 28;
    9436             :       // op: Rd
    9437          11 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9438          11 :       Value |= (op & UINT64_C(15)) << 12;
    9439             :       // op: sat_imm
    9440          11 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9441          11 :       Value |= (op & UINT64_C(15)) << 16;
    9442             :       // op: Rn
    9443          11 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9444          11 :       Value |= op & UINT64_C(15);
    9445          11 :       break;
    9446             :     }
    9447             :     case ARM::SDIV:
    9448             :     case ARM::SMMUL:
    9449             :     case ARM::SMMULR:
    9450             :     case ARM::UDIV:
    9451             :     case ARM::USAD8: {
    9452             :       // op: p
    9453          26 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9454          26 :       Value |= (op & UINT64_C(15)) << 28;
    9455             :       // op: Rd
    9456          26 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9457          26 :       Value |= (op & UINT64_C(15)) << 16;
    9458             :       // op: Rn
    9459          26 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9460          26 :       Value |= op & UINT64_C(15);
    9461             :       // op: Rm
    9462          26 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9463          26 :       Value |= (op & UINT64_C(15)) << 8;
    9464          26 :       break;
    9465             :     }
    9466             :     case ARM::CMNzrsi:
    9467             :     case ARM::CMPrsi:
    9468             :     case ARM::TEQrsi:
    9469             :     case ARM::TSTrsi: {
    9470             :       // op: p
    9471          52 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9472          52 :       Value |= (op & UINT64_C(15)) << 28;
    9473             :       // op: Rn
    9474          52 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9475          52 :       Value |= (op & UINT64_C(15)) << 16;
    9476             :       // op: shift
    9477          52 :       op = getSORegImmOpValue(MI, 1, Fixups, STI);
    9478          52 :       Value |= op & UINT64_C(4064);
    9479          52 :       Value |= op & UINT64_C(15);
    9480          52 :       break;
    9481             :     }
    9482             :     case ARM::QADD16:
    9483             :     case ARM::QADD8:
    9484             :     case ARM::QASX:
    9485             :     case ARM::QSAX:
    9486             :     case ARM::QSUB16:
    9487             :     case ARM::QSUB8:
    9488             :     case ARM::SADD16:
    9489             :     case ARM::SADD8:
    9490             :     case ARM::SASX:
    9491             :     case ARM::SHADD16:
    9492             :     case ARM::SHADD8:
    9493             :     case ARM::SHASX:
    9494             :     case ARM::SHSAX:
    9495             :     case ARM::SHSUB16:
    9496             :     case ARM::SHSUB8:
    9497             :     case ARM::SSAX:
    9498             :     case ARM::SSUB16:
    9499             :     case ARM::SSUB8:
    9500             :     case ARM::UADD16:
    9501             :     case ARM::UADD8:
    9502             :     case ARM::UASX:
    9503             :     case ARM::UHADD16:
    9504             :     case ARM::UHADD8:
    9505             :     case ARM::UHASX:
    9506             :     case ARM::UHSAX:
    9507             :     case ARM::UHSUB16:
    9508             :     case ARM::UHSUB8:
    9509             :     case ARM::UQADD16:
    9510             :     case ARM::UQADD8:
    9511             :     case ARM::UQASX:
    9512             :     case ARM::UQSAX:
    9513             :     case ARM::UQSUB16:
    9514             :     case ARM::UQSUB8:
    9515             :     case ARM::USAX:
    9516             :     case ARM::USUB16:
    9517             :     case ARM::USUB8: {
    9518             :       // op: p
    9519         132 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9520         132 :       Value |= (op & UINT64_C(15)) << 28;
    9521             :       // op: Rn
    9522         132 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9523         132 :       Value |= (op & UINT64_C(15)) << 16;
    9524             :       // op: Rd
    9525         132 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9526         132 :       Value |= (op & UINT64_C(15)) << 12;
    9527             :       // op: Rm
    9528         132 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9529         132 :       Value |= op & UINT64_C(15);
    9530         132 :       break;
    9531             :     }
    9532             :     case ARM::SMUAD:
    9533             :     case ARM::SMUADX:
    9534             :     case ARM::SMULBB:
    9535             :     case ARM::SMULBT:
    9536             :     case ARM::SMULTB:
    9537             :     case ARM::SMULTT:
    9538             :     case ARM::SMULWB:
    9539             :     case ARM::SMULWT:
    9540             :     case ARM::SMUSD:
    9541             :     case ARM::SMUSDX: {
    9542             :       // op: p
    9543          36 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9544          36 :       Value |= (op & UINT64_C(15)) << 28;
    9545             :       // op: Rn
    9546          36 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9547          36 :       Value |= op & UINT64_C(15);
    9548             :       // op: Rm
    9549          36 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9550          36 :       Value |= (op & UINT64_C(15)) << 8;
    9551             :       // op: Rd
    9552          36 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9553          36 :       Value |= (op & UINT64_C(15)) << 16;
    9554          36 :       break;
    9555             :     }
    9556             :     case ARM::QADD:
    9557             :     case ARM::QDADD:
    9558             :     case ARM::QDSUB:
    9559             :     case ARM::QSUB: {
    9560             :       // op: p
    9561          16 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9562          16 :       Value |= (op & UINT64_C(15)) << 28;
    9563             :       // op: Rn
    9564          16 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9565          16 :       Value |= (op & UINT64_C(15)) << 16;
    9566             :       // op: Rd
    9567          16 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9568          16 :       Value |= (op & UINT64_C(15)) << 12;
    9569             :       // op: Rm
    9570          16 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9571          16 :       Value |= op & UINT64_C(15);
    9572          16 :       break;
    9573             :     }
    9574             :     case ARM::SWP:
    9575             :     case ARM::SWPB: {
    9576             :       // op: p
    9577           6 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9578           6 :       Value |= (op & UINT64_C(15)) << 28;
    9579             :       // op: Rt
    9580           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9581           6 :       Value |= (op & UINT64_C(15)) << 12;
    9582             :       // op: Rt2
    9583           6 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9584           6 :       Value |= op & UINT64_C(15);
    9585             :       // op: addr
    9586           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9587           6 :       Value |= (op & UINT64_C(15)) << 16;
    9588           6 :       break;
    9589             :     }
    9590             :     case ARM::LDRBi12:
    9591             :     case ARM::LDRi12:
    9592             :     case ARM::STRBi12:
    9593             :     case ARM::STRi12: {
    9594             :       // op: p
    9595        1925 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9596        1925 :       Value |= (op & UINT64_C(15)) << 28;
    9597             :       // op: Rt
    9598        1925 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9599        1925 :       Value |= (op & UINT64_C(15)) << 12;
    9600             :       // op: addr
    9601        1925 :       op = getAddrModeImm12OpValue(MI, 1, Fixups, STI);
    9602        1925 :       Value |= (op & UINT64_C(4096)) << 11;
    9603        1925 :       Value |= (op & UINT64_C(122880)) << 3;
    9604        1925 :       Value |= op & UINT64_C(4095);
    9605        1925 :       break;
    9606             :     }
    9607             :     case ARM::LDRcp: {
    9608             :       // op: p
    9609           0 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9610           0 :       Value |= (op & UINT64_C(15)) << 28;
    9611             :       // op: Rt
    9612           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9613           0 :       Value |= (op & UINT64_C(15)) << 12;
    9614             :       // op: addr
    9615           0 :       op = getAddrModeImm12OpValue(MI, 1, Fixups, STI);
    9616           0 :       Value |= (op & UINT64_C(4096)) << 11;
    9617           0 :       Value |= op & UINT64_C(4095);
    9618           0 :       break;
    9619             :     }
    9620             :     case ARM::STLEX:
    9621             :     case ARM::STLEXB:
    9622             :     case ARM::STLEXD:
    9623             :     case ARM::STLEXH:
    9624             :     case ARM::STREX:
    9625             :     case ARM::STREXB:
    9626             :     case ARM::STREXD:
    9627             :     case ARM::STREXH: {
    9628             :       // op: p
    9629          21 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9630          21 :       Value |= (op & UINT64_C(15)) << 28;
    9631             :       // op: Rt
    9632          21 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9633          21 :       Value |= op & UINT64_C(15);
    9634             :       // op: addr
    9635          21 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9636          21 :       Value |= (op & UINT64_C(15)) << 16;
    9637             :       // op: Rd
    9638          21 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9639          21 :       Value |= (op & UINT64_C(15)) << 12;
    9640          21 :       break;
    9641             :     }
    9642             :     case ARM::VADDH:
    9643             :     case ARM::VADDS:
    9644             :     case ARM::VDIVH:
    9645             :     case ARM::VDIVS:
    9646             :     case ARM::VMULH:
    9647             :     case ARM::VMULS:
    9648             :     case ARM::VNMULH:
    9649             :     case ARM::VNMULS:
    9650             :     case ARM::VSUBH:
    9651             :     case ARM::VSUBS: {
    9652             :       // op: p
    9653          31 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9654          31 :       Value |= (op & UINT64_C(15)) << 28;
    9655             :       // op: Sd
    9656          31 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9657          31 :       Value |= (op & UINT64_C(1)) << 22;
    9658          31 :       Value |= (op & UINT64_C(30)) << 11;
    9659             :       // op: Sn
    9660          31 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9661          31 :       Value |= (op & UINT64_C(30)) << 15;
    9662          31 :       Value |= (op & UINT64_C(1)) << 7;
    9663             :       // op: Sm
    9664          31 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9665          31 :       Value |= (op & UINT64_C(1)) << 5;
    9666          31 :       Value |= (op & UINT64_C(30)) >> 1;
    9667          31 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    9668          31 :       break;
    9669             :     }
    9670             :     case ARM::VLDRH:
    9671             :     case ARM::VSTRH: {
    9672             :       // op: p
    9673          32 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9674          32 :       Value |= (op & UINT64_C(15)) << 28;
    9675             :       // op: Sd
    9676          32 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9677          32 :       Value |= (op & UINT64_C(1)) << 22;
    9678          32 :       Value |= (op & UINT64_C(30)) << 11;
    9679             :       // op: addr
    9680          32 :       op = getAddrMode5FP16OpValue(MI, 1, Fixups, STI);
    9681          32 :       Value |= (op & UINT64_C(256)) << 15;
    9682          32 :       Value |= (op & UINT64_C(7680)) << 7;
    9683          32 :       Value |= op & UINT64_C(255);
    9684          32 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    9685          32 :       break;
    9686             :     }
    9687             :     case ARM::VLDRS:
    9688             :     case ARM::VSTRS: {
    9689             :       // op: p
    9690         281 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9691         281 :       Value |= (op & UINT64_C(15)) << 28;
    9692             :       // op: Sd
    9693         281 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9694         281 :       Value |= (op & UINT64_C(1)) << 22;
    9695         281 :       Value |= (op & UINT64_C(30)) << 11;
    9696             :       // op: addr
    9697         281 :       op = getAddrMode5OpValue(MI, 1, Fixups, STI);
    9698         281 :       Value |= (op & UINT64_C(256)) << 15;
    9699         281 :       Value |= (op & UINT64_C(7680)) << 7;
    9700         281 :       Value |= op & UINT64_C(255);
    9701         281 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    9702         281 :       break;
    9703             :     }
    9704             :     case ARM::VSHTOH:
    9705             :     case ARM::VSHTOS:
    9706             :     case ARM::VSLTOH:
    9707             :     case ARM::VSLTOS:
    9708             :     case ARM::VTOSHH:
    9709             :     case ARM::VTOSHS:
    9710             :     case ARM::VTOSLH:
    9711             :     case ARM::VTOSLS:
    9712             :     case ARM::VTOUHH:
    9713             :     case ARM::VTOUHS:
    9714             :     case ARM::VTOULH:
    9715             :     case ARM::VTOULS:
    9716             :     case ARM::VUHTOH:
    9717             :     case ARM::VUHTOS:
    9718             :     case ARM::VULTOH:
    9719             :     case ARM::VULTOS: {
    9720             :       // op: p
    9721          40 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9722          40 :       Value |= (op & UINT64_C(15)) << 28;
    9723             :       // op: fbits
    9724          40 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9725          40 :       Value |= (op & UINT64_C(1)) << 5;
    9726          40 :       Value |= (op & UINT64_C(30)) >> 1;
    9727             :       // op: dst
    9728          40 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9729          40 :       Value |= (op & UINT64_C(1)) << 22;
    9730          40 :       Value |= (op & UINT64_C(30)) << 11;
    9731          40 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    9732          40 :       break;
    9733             :     }
    9734             :     case ARM::VSHTOD:
    9735             :     case ARM::VSLTOD:
    9736             :     case ARM::VTOSHD:
    9737             :     case ARM::VTOSLD:
    9738             :     case ARM::VTOUHD:
    9739             :     case ARM::VTOULD:
    9740             :     case ARM::VUHTOD:
    9741             :     case ARM::VULTOD: {
    9742             :       // op: p
    9743           8 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9744           8 :       Value |= (op & UINT64_C(15)) << 28;
    9745             :       // op: fbits
    9746           8 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9747           8 :       Value |= (op & UINT64_C(1)) << 5;
    9748           8 :       Value |= (op & UINT64_C(30)) >> 1;
    9749             :       // op: dst
    9750           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9751           8 :       Value |= (op & UINT64_C(16)) << 18;
    9752           8 :       Value |= (op & UINT64_C(15)) << 12;
    9753           8 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    9754           8 :       break;
    9755             :     }
    9756             :     case ARM::ADCrr:
    9757             :     case ARM::ADDrr:
    9758             :     case ARM::ANDrr:
    9759             :     case ARM::BICrr:
    9760             :     case ARM::EORrr:
    9761             :     case ARM::ORRrr:
    9762             :     case ARM::RSBrr:
    9763             :     case ARM::RSCrr:
    9764             :     case ARM::SBCrr:
    9765             :     case ARM::SUBrr: {
    9766             :       // op: p
    9767         168 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9768         168 :       Value |= (op & UINT64_C(15)) << 28;
    9769             :       // op: s
    9770         168 :       op = getCCOutOpValue(MI, 5, Fixups, STI);
    9771         168 :       Value |= (op & UINT64_C(1)) << 20;
    9772             :       // op: Rd
    9773         168 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9774         168 :       Value |= (op & UINT64_C(15)) << 12;
    9775             :       // op: Rn
    9776         168 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9777         168 :       Value |= (op & UINT64_C(15)) << 16;
    9778             :       // op: Rm
    9779         168 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9780         168 :       Value |= op & UINT64_C(15);
    9781         168 :       break;
    9782             :     }
    9783             :     case ARM::ADCri:
    9784             :     case ARM::ADDri:
    9785             :     case ARM::ANDri:
    9786             :     case ARM::BICri:
    9787             :     case ARM::EORri:
    9788             :     case ARM::ORRri:
    9789             :     case ARM::RSBri:
    9790             :     case ARM::RSCri:
    9791             :     case ARM::SBCri:
    9792             :     case ARM::SUBri: {
    9793             :       // op: p
    9794        2289 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9795        2289 :       Value |= (op & UINT64_C(15)) << 28;
    9796             :       // op: s
    9797        2289 :       op = getCCOutOpValue(MI, 5, Fixups, STI);
    9798        2289 :       Value |= (op & UINT64_C(1)) << 20;
    9799             :       // op: Rd
    9800        2289 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9801        2289 :       Value |= (op & UINT64_C(15)) << 12;
    9802             :       // op: Rn
    9803        2289 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9804        2289 :       Value |= (op & UINT64_C(15)) << 16;
    9805             :       // op: imm
    9806        2289 :       op = getModImmOpValue(MI, 2, Fixups, STI);
    9807        2289 :       Value |= op & UINT64_C(4095);
    9808        2289 :       break;
    9809             :     }
    9810             :     case ARM::MVNsi: {
    9811             :       // op: p
    9812          12 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9813          12 :       Value |= (op & UINT64_C(15)) << 28;
    9814             :       // op: s
    9815          12 :       op = getCCOutOpValue(MI, 5, Fixups, STI);
    9816          12 :       Value |= (op & UINT64_C(1)) << 20;
    9817             :       // op: Rd
    9818          12 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9819          12 :       Value |= (op & UINT64_C(15)) << 12;
    9820             :       // op: shift
    9821          12 :       op = getSORegImmOpValue(MI, 1, Fixups, STI);
    9822          12 :       Value |= op & UINT64_C(4064);
    9823          12 :       Value |= op & UINT64_C(15);
    9824          12 :       break;
    9825             :     }
    9826             :     case ARM::MOVsi: {
    9827             :       // op: p
    9828          43 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9829          43 :       Value |= (op & UINT64_C(15)) << 28;
    9830             :       // op: s
    9831          43 :       op = getCCOutOpValue(MI, 5, Fixups, STI);
    9832          43 :       Value |= (op & UINT64_C(1)) << 20;
    9833             :       // op: Rd
    9834          43 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9835          43 :       Value |= (op & UINT64_C(15)) << 12;
    9836             :       // op: src
    9837          43 :       op = getSORegImmOpValue(MI, 1, Fixups, STI);
    9838          43 :       Value |= op & UINT64_C(4064);
    9839          43 :       Value |= op & UINT64_C(15);
    9840          43 :       break;
    9841             :     }
    9842             :     case ARM::MUL: {
    9843             :       // op: p
    9844          15 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9845          15 :       Value |= (op & UINT64_C(15)) << 28;
    9846             :       // op: s
    9847          15 :       op = getCCOutOpValue(MI, 5, Fixups, STI);
    9848          15 :       Value |= (op & UINT64_C(1)) << 20;
    9849             :       // op: Rd
    9850          15 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9851          15 :       Value |= (op & UINT64_C(15)) << 16;
    9852             :       // op: Rm
    9853          15 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9854          15 :       Value |= (op & UINT64_C(15)) << 8;
    9855             :       // op: Rn
    9856          15 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9857          15 :       Value |= op & UINT64_C(15);
    9858          15 :       break;
    9859             :     }
    9860             :     case ARM::VFMAD:
    9861             :     case ARM::VFMSD:
    9862             :     case ARM::VFNMAD:
    9863             :     case ARM::VFNMSD:
    9864             :     case ARM::VMLAD:
    9865             :     case ARM::VMLSD:
    9866             :     case ARM::VNMLAD:
    9867             :     case ARM::VNMLSD: {
    9868             :       // op: p
    9869          12 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9870          12 :       Value |= (op & UINT64_C(15)) << 28;
    9871             :       // op: Dd
    9872          12 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9873          12 :       Value |= (op & UINT64_C(16)) << 18;
    9874          12 :       Value |= (op & UINT64_C(15)) << 12;
    9875             :       // op: Dn
    9876          12 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9877          12 :       Value |= (op & UINT64_C(15)) << 16;
    9878          12 :       Value |= (op & UINT64_C(16)) << 3;
    9879             :       // op: Dm
    9880          12 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9881          12 :       Value |= (op & UINT64_C(16)) << 1;
    9882          12 :       Value |= op & UINT64_C(15);
    9883          12 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
    9884          12 :       break;
    9885             :     }
    9886             :     case ARM::SXTAB:
    9887             :     case ARM::SXTAB16:
    9888             :     case ARM::SXTAH:
    9889             :     case ARM::UXTAB:
    9890             :     case ARM::UXTAB16:
    9891             :     case ARM::UXTAH: {
    9892             :       // op: p
    9893          60 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9894          60 :       Value |= (op & UINT64_C(15)) << 28;
    9895             :       // op: Rd
    9896          60 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9897          60 :       Value |= (op & UINT64_C(15)) << 12;
    9898             :       // op: Rm
    9899          60 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9900          60 :       Value |= op & UINT64_C(15);
    9901             :       // op: Rn
    9902          60 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9903          60 :       Value |= (op & UINT64_C(15)) << 16;
    9904             :       // op: rot
    9905          60 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9906          60 :       Value |= (op & UINT64_C(3)) << 10;
    9907          60 :       break;
    9908             :     }
    9909             :     case ARM::PKHBT:
    9910             :     case ARM::PKHTB: {
    9911             :       // op: p
    9912          14 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9913          14 :       Value |= (op & UINT64_C(15)) << 28;
    9914             :       // op: Rd
    9915          14 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9916          14 :       Value |= (op & UINT64_C(15)) << 12;
    9917             :       // op: Rn
    9918          14 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9919          14 :       Value |= (op & UINT64_C(15)) << 16;
    9920             :       // op: Rm
    9921          14 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9922          14 :       Value |= op & UINT64_C(15);
    9923             :       // op: sh
    9924          14 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9925          14 :       Value |= (op & UINT64_C(31)) << 7;
    9926          14 :       break;
    9927             :     }
    9928             :     case ARM::SBFX:
    9929             :     case ARM::UBFX: {
    9930             :       // op: p
    9931           8 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9932           8 :       Value |= (op & UINT64_C(15)) << 28;
    9933             :       // op: Rd
    9934           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9935           8 :       Value |= (op & UINT64_C(15)) << 12;
    9936             :       // op: Rn
    9937           8 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9938           8 :       Value |= op & UINT64_C(15);
    9939             :       // op: lsb
    9940           8 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9941           8 :       Value |= (op & UINT64_C(31)) << 7;
    9942             :       // op: width
    9943           8 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9944           8 :       Value |= (op & UINT64_C(31)) << 16;
    9945           8 :       break;
    9946             :     }
    9947             :     case ARM::BFI: {
    9948             :       // op: p
    9949           7 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9950           7 :       Value |= (op & UINT64_C(15)) << 28;
    9951             :       // op: Rd
    9952           7 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9953           7 :       Value |= (op & UINT64_C(15)) << 12;
    9954             :       // op: Rn
    9955           7 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9956           7 :       Value |= op & UINT64_C(15);
    9957             :       // op: imm
    9958           7 :       op = getBitfieldInvertedMaskOpValue(MI, 3, Fixups, STI);
    9959           7 :       Value |= (op & UINT64_C(992)) << 11;
    9960           7 :       Value |= (op & UINT64_C(31)) << 7;
    9961           7 :       break;
    9962             :     }
    9963             :     case ARM::SSAT:
    9964             :     case ARM::USAT: {
    9965             :       // op: p
    9966          20 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9967          20 :       Value |= (op & UINT64_C(15)) << 28;
    9968             :       // op: Rd
    9969          20 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9970          20 :       Value |= (op & UINT64_C(15)) << 12;
    9971             :       // op: sat_imm
    9972          20 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9973          20 :       Value |= (op & UINT64_C(31)) << 16;
    9974             :       // op: Rn
    9975          20 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9976          20 :       Value |= op & UINT64_C(15);
    9977             :       // op: sh
    9978          20 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9979          20 :       Value |= (op & UINT64_C(31)) << 7;
    9980          20 :       Value |= (op & UINT64_C(32)) << 1;
    9981          20 :       break;
    9982             :     }
    9983             :     case ARM::MLS: {
    9984             :       // op: p
    9985           4 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    9986           4 :       Value |= (op & UINT64_C(15)) << 28;
    9987             :       // op: Rd
    9988           4 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    9989           4 :       Value |= (op & UINT64_C(15)) << 16;
    9990             :       // op: Rm
    9991           4 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    9992           4 :       Value |= (op & UINT64_C(15)) << 8;
    9993             :       // op: Rn
    9994           4 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    9995           4 :       Value |= op & UINT64_C(15);
    9996             :       // op: Ra
    9997           4 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    9998           4 :       Value |= (op & UINT64_C(15)) << 12;
    9999           4 :       break;
   10000             :     }
   10001             :     case ARM::SMMLA:
   10002             :     case ARM::SMMLAR:
   10003             :     case ARM::SMMLS:
   10004             :     case ARM::SMMLSR:
   10005             :     case ARM::USADA8: {
   10006             :       // op: p
   10007          20 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10008          20 :       Value |= (op & UINT64_C(15)) << 28;
   10009             :       // op: Rd
   10010          20 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10011          20 :       Value |= (op & UINT64_C(15)) << 16;
   10012             :       // op: Rn
   10013          20 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10014          20 :       Value |= op & UINT64_C(15);
   10015             :       // op: Rm
   10016          20 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10017          20 :       Value |= (op & UINT64_C(15)) << 8;
   10018             :       // op: Ra
   10019          20 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10020          20 :       Value |= (op & UINT64_C(15)) << 12;
   10021          20 :       break;
   10022             :     }
   10023             :     case ARM::CMNzrsr:
   10024             :     case ARM::CMPrsr:
   10025             :     case ARM::TEQrsr:
   10026             :     case ARM::TSTrsr: {
   10027             :       // op: p
   10028          32 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10029          32 :       Value |= (op & UINT64_C(15)) << 28;
   10030             :       // op: Rn
   10031          32 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10032          32 :       Value |= (op & UINT64_C(15)) << 16;
   10033             :       // op: shift
   10034          32 :       op = getSORegRegOpValue(MI, 1, Fixups, STI);
   10035          32 :       Value |= op & UINT64_C(3840);
   10036          32 :       Value |= op & UINT64_C(96);
   10037          32 :       Value |= op & UINT64_C(15);
   10038          32 :       break;
   10039             :     }
   10040             :     case ARM::SMLAD:
   10041             :     case ARM::SMLADX:
   10042             :     case ARM::SMLSD:
   10043             :     case ARM::SMLSDX: {
   10044             :       // op: p
   10045          16 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10046          16 :       Value |= (op & UINT64_C(15)) << 28;
   10047             :       // op: Rn
   10048          16 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10049          16 :       Value |= op & UINT64_C(15);
   10050             :       // op: Rm
   10051          16 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10052          16 :       Value |= (op & UINT64_C(15)) << 8;
   10053             :       // op: Ra
   10054          16 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10055          16 :       Value |= (op & UINT64_C(15)) << 12;
   10056             :       // op: Rd
   10057          16 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10058          16 :       Value |= (op & UINT64_C(15)) << 16;
   10059          16 :       break;
   10060             :     }
   10061             :     case ARM::SMLABB:
   10062             :     case ARM::SMLABT:
   10063             :     case ARM::SMLATB:
   10064             :     case ARM::SMLATT:
   10065             :     case ARM::SMLAWB:
   10066             :     case ARM::SMLAWT: {
   10067             :       // op: p
   10068          24 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10069          24 :       Value |= (op & UINT64_C(15)) << 28;
   10070             :       // op: Rn
   10071          24 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10072          24 :       Value |= op & UINT64_C(15);
   10073             :       // op: Rm
   10074          24 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10075          24 :       Value |= (op & UINT64_C(15)) << 8;
   10076             :       // op: Rd
   10077          24 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10078          24 :       Value |= (op & UINT64_C(15)) << 16;
   10079             :       // op: Ra
   10080          24 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10081          24 :       Value |= (op & UINT64_C(15)) << 12;
   10082          24 :       break;
   10083             :     }
   10084             :     case ARM::LDRB_PRE_IMM:
   10085             :     case ARM::LDR_PRE_IMM: {
   10086             :       // op: p
   10087           2 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10088           2 :       Value |= (op & UINT64_C(15)) << 28;
   10089             :       // op: Rt
   10090           2 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10091           2 :       Value |= (op & UINT64_C(15)) << 12;
   10092             :       // op: addr
   10093           2 :       op = getAddrModeImm12OpValue(MI, 2, Fixups, STI);
   10094           2 :       Value |= (op & UINT64_C(4096)) << 11;
   10095           2 :       Value |= (op & UINT64_C(122880)) << 3;
   10096           2 :       Value |= op & UINT64_C(4095);
   10097           2 :       break;
   10098             :     }
   10099             :     case ARM::LDRBrs:
   10100             :     case ARM::LDRrs:
   10101             :     case ARM::STRBrs:
   10102             :     case ARM::STRrs: {
   10103             :       // op: p
   10104          46 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10105          46 :       Value |= (op & UINT64_C(15)) << 28;
   10106             :       // op: Rt
   10107          46 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10108          46 :       Value |= (op & UINT64_C(15)) << 12;
   10109             :       // op: shift
   10110          46 :       op = getLdStSORegOpValue(MI, 1, Fixups, STI);
   10111          46 :       Value |= (op & UINT64_C(4096)) << 11;
   10112          46 :       Value |= (op & UINT64_C(122880)) << 3;
   10113          46 :       Value |= op & UINT64_C(4064);
   10114          46 :       Value |= op & UINT64_C(15);
   10115          46 :       break;
   10116             :     }
   10117             :     case ARM::STRB_PRE_IMM:
   10118             :     case ARM::STR_PRE_IMM: {
   10119             :       // op: p
   10120          14 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10121          14 :       Value |= (op & UINT64_C(15)) << 28;
   10122             :       // op: Rt
   10123          14 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10124          14 :       Value |= (op & UINT64_C(15)) << 12;
   10125             :       // op: addr
   10126          14 :       op = getAddrModeImm12OpValue(MI, 2, Fixups, STI);
   10127          14 :       Value |= (op & UINT64_C(4096)) << 11;
   10128          14 :       Value |= (op & UINT64_C(122880)) << 3;
   10129          14 :       Value |= op & UINT64_C(4095);
   10130          14 :       break;
   10131             :     }
   10132             :     case ARM::VFMAH:
   10133             :     case ARM::VFMAS:
   10134             :     case ARM::VFMSH:
   10135             :     case ARM::VFMSS:
   10136             :     case ARM::VFNMAH:
   10137             :     case ARM::VFNMAS:
   10138             :     case ARM::VFNMSH:
   10139             :     case ARM::VFNMSS:
   10140             :     case ARM::VMLAH:
   10141             :     case ARM::VMLAS:
   10142             :     case ARM::VMLSH:
   10143             :     case ARM::VMLSS:
   10144             :     case ARM::VNMLAH:
   10145             :     case ARM::VNMLAS:
   10146             :     case ARM::VNMLSH:
   10147             :     case ARM::VNMLSS: {
   10148             :       // op: p
   10149          53 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10150          53 :       Value |= (op & UINT64_C(15)) << 28;
   10151             :       // op: Sd
   10152          53 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10153          53 :       Value |= (op & UINT64_C(1)) << 22;
   10154          53 :       Value |= (op & UINT64_C(30)) << 11;
   10155             :       // op: Sn
   10156          53 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10157          53 :       Value |= (op & UINT64_C(30)) << 15;
   10158          53 :       Value |= (op & UINT64_C(1)) << 7;
   10159             :       // op: Sm
   10160          53 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10161          53 :       Value |= (op & UINT64_C(1)) << 5;
   10162          53 :       Value |= (op & UINT64_C(30)) >> 1;
   10163          53 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
   10164          53 :       break;
   10165             :     }
   10166             :     case ARM::LDRH:
   10167             :     case ARM::LDRSB:
   10168             :     case ARM::LDRSH:
   10169             :     case ARM::STRH: {
   10170             :       // op: p
   10171          15 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10172          15 :       Value |= (op & UINT64_C(15)) << 28;
   10173             :       // op: addr
   10174          15 :       op = getAddrMode3OpValue(MI, 1, Fixups, STI);
   10175          15 :       Value |= (op & UINT64_C(256)) << 15;
   10176          15 :       Value |= (op & UINT64_C(8192)) << 9;
   10177          15 :       Value |= (op & UINT64_C(7680)) << 7;
   10178          15 :       Value |= (op & UINT64_C(240)) << 4;
   10179          15 :       Value |= op & UINT64_C(15);
   10180             :       // op: Rt
   10181          15 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10182          15 :       Value |= (op & UINT64_C(15)) << 12;
   10183          15 :       break;
   10184             :     }
   10185             :     case ARM::LDCL_OFFSET:
   10186             :     case ARM::LDCL_PRE:
   10187             :     case ARM::LDC_OFFSET:
   10188             :     case ARM::LDC_PRE:
   10189             :     case ARM::STCL_OFFSET:
   10190             :     case ARM::STCL_PRE:
   10191             :     case ARM::STC_OFFSET:
   10192             :     case ARM::STC_PRE: {
   10193             :       // op: p
   10194          72 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10195          72 :       Value |= (op & UINT64_C(15)) << 28;
   10196             :       // op: addr
   10197          72 :       op = getAddrMode5OpValue(MI, 2, Fixups, STI);
   10198          72 :       Value |= (op & UINT64_C(256)) << 15;
   10199          72 :       Value |= (op & UINT64_C(7680)) << 7;
   10200          72 :       Value |= op & UINT64_C(255);
   10201             :       // op: cop
   10202          72 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10203          72 :       Value |= (op & UINT64_C(15)) << 8;
   10204             :       // op: CRd
   10205          72 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10206          72 :       Value |= (op & UINT64_C(15)) << 12;
   10207          72 :       break;
   10208             :     }
   10209             :     case ARM::LDRHTi:
   10210             :     case ARM::LDRSBTi:
   10211             :     case ARM::LDRSHTi: {
   10212             :       // op: p
   10213          13 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10214          13 :       Value |= (op & UINT64_C(15)) << 28;
   10215             :       // op: addr
   10216          13 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10217          13 :       Value |= (op & UINT64_C(15)) << 16;
   10218             :       // op: Rt
   10219          13 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10220          13 :       Value |= (op & UINT64_C(15)) << 12;
   10221             :       // op: offset
   10222          13 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10223          13 :       Value |= (op & UINT64_C(256)) << 15;
   10224          13 :       Value |= (op & UINT64_C(240)) << 4;
   10225          13 :       Value |= op & UINT64_C(15);
   10226          13 :       break;
   10227             :     }
   10228             :     case ARM::STRHTi: {
   10229             :       // op: p
   10230           3 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10231           3 :       Value |= (op & UINT64_C(15)) << 28;
   10232             :       // op: addr
   10233           3 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10234           3 :       Value |= (op & UINT64_C(15)) << 16;
   10235             :       // op: Rt
   10236           3 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10237           3 :       Value |= (op & UINT64_C(15)) << 12;
   10238             :       // op: offset
   10239           3 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10240           3 :       Value |= (op & UINT64_C(256)) << 15;
   10241           3 :       Value |= (op & UINT64_C(240)) << 4;
   10242           3 :       Value |= op & UINT64_C(15);
   10243           3 :       break;
   10244             :     }
   10245             :     case ARM::VMOVSRR: {
   10246             :       // op: p
   10247           3 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10248           3 :       Value |= (op & UINT64_C(15)) << 28;
   10249             :       // op: dst1
   10250           3 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10251           3 :       Value |= (op & UINT64_C(1)) << 5;
   10252           3 :       Value |= (op & UINT64_C(30)) >> 1;
   10253             :       // op: src1
   10254           3 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10255           3 :       Value |= (op & UINT64_C(15)) << 12;
   10256             :       // op: src2
   10257           3 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10258           3 :       Value |= (op & UINT64_C(15)) << 16;
   10259           3 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
   10260           3 :       break;
   10261             :     }
   10262             :     case ARM::LDCL_POST:
   10263             :     case ARM::LDC_POST:
   10264             :     case ARM::STCL_POST:
   10265             :     case ARM::STC_POST: {
   10266             :       // op: p
   10267          32 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10268          32 :       Value |= (op & UINT64_C(15)) << 28;
   10269             :       // op: offset
   10270          32 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10271          32 :       Value |= (op & UINT64_C(256)) << 15;
   10272          32 :       Value |= op & UINT64_C(255);
   10273             :       // op: addr
   10274          32 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10275          32 :       Value |= (op & UINT64_C(15)) << 16;
   10276             :       // op: cop
   10277          32 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10278          32 :       Value |= (op & UINT64_C(15)) << 8;
   10279             :       // op: CRd
   10280          32 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10281          32 :       Value |= (op & UINT64_C(15)) << 12;
   10282          32 :       break;
   10283             :     }
   10284             :     case ARM::LDCL_OPTION:
   10285             :     case ARM::LDC_OPTION:
   10286             :     case ARM::STCL_OPTION:
   10287             :     case ARM::STC_OPTION: {
   10288             :       // op: p
   10289           6 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10290           6 :       Value |= (op & UINT64_C(15)) << 28;
   10291             :       // op: option
   10292           6 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10293           6 :       Value |= op & UINT64_C(255);
   10294             :       // op: addr
   10295           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10296           6 :       Value |= (op & UINT64_C(15)) << 16;
   10297             :       // op: cop
   10298           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10299           6 :       Value |= (op & UINT64_C(15)) << 8;
   10300             :       // op: CRd
   10301           6 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10302           6 :       Value |= (op & UINT64_C(15)) << 12;
   10303           6 :       break;
   10304             :     }
   10305             :     case ARM::ADCrsi:
   10306             :     case ARM::ADDrsi:
   10307             :     case ARM::ANDrsi:
   10308             :     case ARM::BICrsi:
   10309             :     case ARM::EORrsi:
   10310             :     case ARM::ORRrsi:
   10311             :     case ARM::RSBrsi:
   10312             :     case ARM::RSCrsi:
   10313             :     case ARM::SBCrsi:
   10314             :     case ARM::SUBrsi: {
   10315             :       // op: p
   10316         291 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10317         291 :       Value |= (op & UINT64_C(15)) << 28;
   10318             :       // op: s
   10319         291 :       op = getCCOutOpValue(MI, 6, Fixups, STI);
   10320         291 :       Value |= (op & UINT64_C(1)) << 20;
   10321             :       // op: Rd
   10322         291 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10323         291 :       Value |= (op & UINT64_C(15)) << 12;
   10324             :       // op: Rn
   10325         291 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10326         291 :       Value |= (op & UINT64_C(15)) << 16;
   10327             :       // op: shift
   10328         291 :       op = getSORegImmOpValue(MI, 2, Fixups, STI);
   10329         291 :       Value |= op & UINT64_C(4064);
   10330         291 :       Value |= op & UINT64_C(15);
   10331         291 :       break;
   10332             :     }
   10333             :     case ARM::MVNsr: {
   10334             :       // op: p
   10335           8 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10336           8 :       Value |= (op & UINT64_C(15)) << 28;
   10337             :       // op: s
   10338           8 :       op = getCCOutOpValue(MI, 6, Fixups, STI);
   10339           8 :       Value |= (op & UINT64_C(1)) << 20;
   10340             :       // op: Rd
   10341           8 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10342           8 :       Value |= (op & UINT64_C(15)) << 12;
   10343             :       // op: shift
   10344           8 :       op = getSORegRegOpValue(MI, 1, Fixups, STI);
   10345           8 :       Value |= op & UINT64_C(3840);
   10346           8 :       Value |= op & UINT64_C(96);
   10347           8 :       Value |= op & UINT64_C(15);
   10348           8 :       break;
   10349             :     }
   10350             :     case ARM::MOVsr: {
   10351             :       // op: p
   10352           0 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10353           0 :       Value |= (op & UINT64_C(15)) << 28;
   10354             :       // op: s
   10355           0 :       op = getCCOutOpValue(MI, 6, Fixups, STI);
   10356           0 :       Value |= (op & UINT64_C(1)) << 20;
   10357             :       // op: Rd
   10358           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10359           0 :       Value |= (op & UINT64_C(15)) << 12;
   10360             :       // op: src
   10361           0 :       op = getSORegRegOpValue(MI, 1, Fixups, STI);
   10362           0 :       Value |= op & UINT64_C(3840);
   10363           0 :       Value |= op & UINT64_C(96);
   10364           0 :       Value |= op & UINT64_C(15);
   10365           0 :       break;
   10366             :     }
   10367             :     case ARM::MLA: {
   10368             :       // op: p
   10369          13 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10370          13 :       Value |= (op & UINT64_C(15)) << 28;
   10371             :       // op: s
   10372          13 :       op = getCCOutOpValue(MI, 6, Fixups, STI);
   10373          13 :       Value |= (op & UINT64_C(1)) << 20;
   10374             :       // op: Rd
   10375          13 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10376          13 :       Value |= (op & UINT64_C(15)) << 16;
   10377             :       // op: Rm
   10378          13 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10379          13 :       Value |= (op & UINT64_C(15)) << 8;
   10380             :       // op: Rn
   10381          13 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10382          13 :       Value |= op & UINT64_C(15);
   10383             :       // op: Ra
   10384          13 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10385          13 :       Value |= (op & UINT64_C(15)) << 12;
   10386          13 :       break;
   10387             :     }
   10388             :     case ARM::SMULL:
   10389             :     case ARM::UMULL: {
   10390             :       // op: p
   10391          18 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10392          18 :       Value |= (op & UINT64_C(15)) << 28;
   10393             :       // op: s
   10394          18 :       op = getCCOutOpValue(MI, 6, Fixups, STI);
   10395          18 :       Value |= (op & UINT64_C(1)) << 20;
   10396             :       // op: RdLo
   10397          18 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10398          18 :       Value |= (op & UINT64_C(15)) << 12;
   10399             :       // op: RdHi
   10400          18 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10401          18 :       Value |= (op & UINT64_C(15)) << 16;
   10402             :       // op: Rm
   10403          18 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10404          18 :       Value |= (op & UINT64_C(15)) << 8;
   10405             :       // op: Rn
   10406          18 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10407          18 :       Value |= op & UINT64_C(15);
   10408          18 :       break;
   10409             :     }
   10410             :     case ARM::VMOVRRS: {
   10411             :       // op: p
   10412           2 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10413           2 :       Value |= (op & UINT64_C(15)) << 28;
   10414             :       // op: src1
   10415           2 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10416           2 :       Value |= (op & UINT64_C(1)) << 5;
   10417           2 :       Value |= (op & UINT64_C(30)) >> 1;
   10418             :       // op: Rt
   10419           2 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10420           2 :       Value |= (op & UINT64_C(15)) << 12;
   10421             :       // op: Rt2
   10422           2 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10423           2 :       Value |= (op & UINT64_C(15)) << 16;
   10424           2 :       Value = VFPThumb2PostEncoder(MI, Value, STI);
   10425           2 :       break;
   10426             :     }
   10427             :     case ARM::MRRC: {
   10428             :       // op: p
   10429           7 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10430           7 :       Value |= (op & UINT64_C(15)) << 28;
   10431             :       // op: Rt
   10432           7 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10433           7 :       Value |= (op & UINT64_C(15)) << 12;
   10434             :       // op: Rt2
   10435           7 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10436           7 :       Value |= (op & UINT64_C(15)) << 16;
   10437             :       // op: cop
   10438           7 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10439           7 :       Value |= (op & UINT64_C(15)) << 8;
   10440             :       // op: opc1
   10441           7 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10442           7 :       Value |= (op & UINT64_C(15)) << 4;
   10443             :       // op: CRm
   10444           7 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10445           7 :       Value |= op & UINT64_C(15);
   10446           7 :       break;
   10447             :     }
   10448             :     case ARM::LDRH_PRE:
   10449             :     case ARM::LDRSB_PRE:
   10450             :     case ARM::LDRSH_PRE: {
   10451             :       // op: p
   10452           9 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10453           9 :       Value |= (op & UINT64_C(15)) << 28;
   10454             :       // op: Rt
   10455           9 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10456           9 :       Value |= (op & UINT64_C(15)) << 12;
   10457             :       // op: addr
   10458           9 :       op = getAddrMode3OpValue(MI, 2, Fixups, STI);
   10459           9 :       Value |= (op & UINT64_C(256)) << 15;
   10460           9 :       Value |= (op & UINT64_C(8192)) << 9;
   10461           9 :       Value |= (op & UINT64_C(7680)) << 7;
   10462           9 :       Value |= (op & UINT64_C(240)) << 4;
   10463           9 :       Value |= op & UINT64_C(15);
   10464           9 :       break;
   10465             :     }
   10466             :     case ARM::LDRB_PRE_REG:
   10467             :     case ARM::LDR_PRE_REG: {
   10468             :       // op: p
   10469           7 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10470           7 :       Value |= (op & UINT64_C(15)) << 28;
   10471             :       // op: Rt
   10472           7 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10473           7 :       Value |= (op & UINT64_C(15)) << 12;
   10474             :       // op: addr
   10475           7 :       op = getLdStSORegOpValue(MI, 2, Fixups, STI);
   10476           7 :       Value |= (op & UINT64_C(4096)) << 11;
   10477           7 :       Value |= (op & UINT64_C(122880)) << 3;
   10478           7 :       Value |= op & UINT64_C(4064);
   10479           7 :       Value |= op & UINT64_C(15);
   10480           7 :       break;
   10481             :     }
   10482             :     case ARM::LDRBT_POST_REG:
   10483             :     case ARM::LDRB_POST_REG:
   10484             :     case ARM::LDRT_POST_REG:
   10485             :     case ARM::LDR_POST_REG: {
   10486             :       // op: p
   10487          14 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10488          14 :       Value |= (op & UINT64_C(15)) << 28;
   10489             :       // op: Rt
   10490          14 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10491          14 :       Value |= (op & UINT64_C(15)) << 12;
   10492             :       // op: offset
   10493          14 :       op = getAddrMode2OffsetOpValue(MI, 3, Fixups, STI);
   10494          14 :       Value |= (op & UINT64_C(4096)) << 11;
   10495          14 :       Value |= op & UINT64_C(4064);
   10496          14 :       Value |= op & UINT64_C(15);
   10497             :       // op: addr
   10498          14 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10499          14 :       Value |= (op & UINT64_C(15)) << 16;
   10500          14 :       break;
   10501             :     }
   10502             :     case ARM::LDRBT_POST_IMM:
   10503             :     case ARM::LDRB_POST_IMM:
   10504             :     case ARM::LDRT_POST_IMM:
   10505             :     case ARM::LDR_POST_IMM: {
   10506             :       // op: p
   10507         755 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10508         755 :       Value |= (op & UINT64_C(15)) << 28;
   10509             :       // op: Rt
   10510         755 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10511         755 :       Value |= (op & UINT64_C(15)) << 12;
   10512             :       // op: offset
   10513         755 :       op = getAddrMode2OffsetOpValue(MI, 3, Fixups, STI);
   10514         755 :       Value |= (op & UINT64_C(4096)) << 11;
   10515         755 :       Value |= op & UINT64_C(4095);
   10516             :       // op: addr
   10517         755 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10518         755 :       Value |= (op & UINT64_C(15)) << 16;
   10519         755 :       break;
   10520             :     }
   10521             :     case ARM::LDRH_POST:
   10522             :     case ARM::LDRSB_POST:
   10523             :     case ARM::LDRSH_POST: {
   10524             :       // op: p
   10525         175 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10526         175 :       Value |= (op & UINT64_C(15)) << 28;
   10527             :       // op: Rt
   10528         175 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10529         175 :       Value |= (op & UINT64_C(15)) << 12;
   10530             :       // op: offset
   10531         175 :       op = getAddrMode3OffsetOpValue(MI, 3, Fixups, STI);
   10532         175 :       Value |= (op & UINT64_C(256)) << 15;
   10533         175 :       Value |= (op & UINT64_C(512)) << 13;
   10534         175 :       Value |= (op & UINT64_C(240)) << 4;
   10535         175 :       Value |= op & UINT64_C(15);
   10536             :       // op: addr
   10537         175 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10538         175 :       Value |= (op & UINT64_C(15)) << 16;
   10539         175 :       break;
   10540             :     }
   10541             :     case ARM::STRH_PRE: {
   10542             :       // op: p
   10543           3 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10544           3 :       Value |= (op & UINT64_C(15)) << 28;
   10545             :       // op: Rt
   10546           3 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10547           3 :       Value |= (op & UINT64_C(15)) << 12;
   10548             :       // op: addr
   10549           3 :       op = getAddrMode3OpValue(MI, 2, Fixups, STI);
   10550           3 :       Value |= (op & UINT64_C(256)) << 15;
   10551           3 :       Value |= (op & UINT64_C(8192)) << 9;
   10552           3 :       Value |= (op & UINT64_C(7680)) << 7;
   10553           3 :       Value |= (op & UINT64_C(240)) << 4;
   10554           3 :       Value |= op & UINT64_C(15);
   10555           3 :       break;
   10556             :     }
   10557             :     case ARM::STRB_PRE_REG:
   10558             :     case ARM::STR_PRE_REG: {
   10559             :       // op: p
   10560           4 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10561           4 :       Value |= (op & UINT64_C(15)) << 28;
   10562             :       // op: Rt
   10563           4 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10564           4 :       Value |= (op & UINT64_C(15)) << 12;
   10565             :       // op: addr
   10566           4 :       op = getLdStSORegOpValue(MI, 2, Fixups, STI);
   10567           4 :       Value |= (op & UINT64_C(4096)) << 11;
   10568           4 :       Value |= (op & UINT64_C(122880)) << 3;
   10569           4 :       Value |= op & UINT64_C(4064);
   10570           4 :       Value |= op & UINT64_C(15);
   10571           4 :       break;
   10572             :     }
   10573             :     case ARM::STRBT_POST_REG:
   10574             :     case ARM::STRB_POST_REG:
   10575             :     case ARM::STRT_POST_REG:
   10576             :     case ARM::STR_POST_REG: {
   10577             :       // op: p
   10578          14 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10579          14 :       Value |= (op & UINT64_C(15)) << 28;
   10580             :       // op: Rt
   10581          14 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10582          14 :       Value |= (op & UINT64_C(15)) << 12;
   10583             :       // op: offset
   10584          14 :       op = getAddrMode2OffsetOpValue(MI, 3, Fixups, STI);
   10585          14 :       Value |= (op & UINT64_C(4096)) << 11;
   10586          14 :       Value |= op & UINT64_C(4064);
   10587          14 :       Value |= op & UINT64_C(15);
   10588             :       // op: addr
   10589          14 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10590          14 :       Value |= (op & UINT64_C(15)) << 16;
   10591          14 :       break;
   10592             :     }
   10593             :     case ARM::STRBT_POST_IMM:
   10594             :     case ARM::STRB_POST_IMM:
   10595             :     case ARM::STRT_POST_IMM:
   10596             :     case ARM::STR_POST_IMM: {
   10597             :       // op: p
   10598         747 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10599         747 :       Value |= (op & UINT64_C(15)) << 28;
   10600             :       // op: Rt
   10601         747 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10602         747 :       Value |= (op & UINT64_C(15)) << 12;
   10603             :       // op: offset
   10604         747 :       op = getAddrMode2OffsetOpValue(MI, 3, Fixups, STI);
   10605         747 :       Value |= (op & UINT64_C(4096)) << 11;
   10606         747 :       Value |= op & UINT64_C(4095);
   10607             :       // op: addr
   10608         747 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10609         747 :       Value |= (op & UINT64_C(15)) << 16;
   10610         747 :       break;
   10611             :     }
   10612             :     case ARM::STRH_POST: {
   10613             :       // op: p
   10614         169 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10615         169 :       Value |= (op & UINT64_C(15)) << 28;
   10616             :       // op: Rt
   10617         169 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10618         169 :       Value |= (op & UINT64_C(15)) << 12;
   10619             :       // op: offset
   10620         169 :       op = getAddrMode3OffsetOpValue(MI, 3, Fixups, STI);
   10621         169 :       Value |= (op & UINT64_C(256)) << 15;
   10622         169 :       Value |= (op & UINT64_C(512)) << 13;
   10623         169 :       Value |= (op & UINT64_C(240)) << 4;
   10624         169 :       Value |= op & UINT64_C(15);
   10625             :       // op: addr
   10626         169 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10627         169 :       Value |= (op & UINT64_C(15)) << 16;
   10628         169 :       break;
   10629             :     }
   10630             :     case ARM::MCRR: {
   10631             :       // op: p
   10632           7 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10633           7 :       Value |= (op & UINT64_C(15)) << 28;
   10634             :       // op: Rt
   10635           7 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10636           7 :       Value |= (op & UINT64_C(15)) << 12;
   10637             :       // op: Rt2
   10638           7 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10639           7 :       Value |= (op & UINT64_C(15)) << 16;
   10640             :       // op: cop
   10641           7 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10642           7 :       Value |= (op & UINT64_C(15)) << 8;
   10643             :       // op: opc1
   10644           7 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10645           7 :       Value |= (op & UINT64_C(15)) << 4;
   10646             :       // op: CRm
   10647           7 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
   10648           7 :       Value |= op & UINT64_C(15);
   10649           7 :       break;
   10650             :     }
   10651             :     case ARM::LDRD:
   10652             :     case ARM::STRD: {
   10653             :       // op: p
   10654          22 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10655          22 :       Value |= (op & UINT64_C(15)) << 28;
   10656             :       // op: addr
   10657          22 :       op = getAddrMode3OpValue(MI, 2, Fixups, STI);
   10658          22 :       Value |= (op & UINT64_C(256)) << 15;
   10659          22 :       Value |= (op & UINT64_C(8192)) << 9;
   10660          22 :       Value |= (op & UINT64_C(7680)) << 7;
   10661          22 :       Value |= (op & UINT64_C(240)) << 4;
   10662          22 :       Value |= op & UINT64_C(15);
   10663             :       // op: Rt
   10664          22 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10665          22 :       Value |= (op & UINT64_C(15)) << 12;
   10666          22 :       break;
   10667             :     }
   10668             :     case ARM::LDRHTr:
   10669             :     case ARM::LDRSBTr:
   10670             :     case ARM::LDRSHTr: {
   10671             :       // op: p
   10672           9 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10673           9 :       Value |= (op & UINT64_C(15)) << 28;
   10674             :       // op: addr
   10675           9 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10676           9 :       Value |= (op & UINT64_C(15)) << 16;
   10677             :       // op: Rt
   10678           9 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10679           9 :       Value |= (op & UINT64_C(15)) << 12;
   10680             :       // op: Rm
   10681           9 :       op = getPostIdxRegOpValue(MI, 3, Fixups, STI);
   10682           9 :       Value |= (op & UINT64_C(16)) << 19;
   10683           9 :       Value |= op & UINT64_C(15);
   10684           9 :       break;
   10685             :     }
   10686             :     case ARM::STRHTr: {
   10687             :       // op: p
   10688           3 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10689           3 :       Value |= (op & UINT64_C(15)) << 28;
   10690             :       // op: addr
   10691           3 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10692           3 :       Value |= (op & UINT64_C(15)) << 16;
   10693             :       // op: Rt
   10694           3 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10695           3 :       Value |= (op & UINT64_C(15)) << 12;
   10696             :       // op: Rm
   10697           3 :       op = getPostIdxRegOpValue(MI, 3, Fixups, STI);
   10698           3 :       Value |= (op & UINT64_C(16)) << 19;
   10699           3 :       Value |= op & UINT64_C(15);
   10700           3 :       break;
   10701             :     }
   10702             :     case ARM::ADCrsr:
   10703             :     case ARM::ADDrsr:
   10704             :     case ARM::ANDrsr:
   10705             :     case ARM::BICrsr:
   10706             :     case ARM::EORrsr:
   10707             :     case ARM::ORRrsr:
   10708             :     case ARM::RSBrsr:
   10709             :     case ARM::RSCrsr:
   10710             :     case ARM::SBCrsr:
   10711             :     case ARM::SUBrsr: {
   10712             :       // op: p
   10713         171 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
   10714         171 :       Value |= (op & UINT64_C(15)) << 28;
   10715             :       // op: s
   10716         171 :       op = getCCOutOpValue(MI, 7, Fixups, STI);
   10717         171 :       Value |= (op & UINT64_C(1)) << 20;
   10718             :       // op: Rd
   10719         171 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10720         171 :       Value |= (op & UINT64_C(15)) << 12;
   10721             :       // op: Rn
   10722         171 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10723         171 :       Value |= (op & UINT64_C(15)) << 16;
   10724             :       // op: shift
   10725         171 :       op = getSORegRegOpValue(MI, 2, Fixups, STI);
   10726         171 :       Value |= op & UINT64_C(3840);
   10727         171 :       Value |= op & UINT64_C(96);
   10728         171 :       Value |= op & UINT64_C(15);
   10729         171 :       break;
   10730             :     }
   10731             :     case ARM::UMAAL: {
   10732             :       // op: p
   10733           5 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
   10734           5 :       Value |= (op & UINT64_C(15)) << 28;
   10735             :       // op: RdLo
   10736           5 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10737           5 :       Value |= (op & UINT64_C(15)) << 12;
   10738             :       // op: RdHi
   10739           5 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10740           5 :       Value |= (op & UINT64_C(15)) << 16;
   10741             :       // op: Rm
   10742           5 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10743           5 :       Value |= (op & UINT64_C(15)) << 8;
   10744             :       // op: Rn
   10745           5 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10746           5 :       Value |= op & UINT64_C(15);
   10747           5 :       break;
   10748             :     }
   10749             :     case ARM::SMLALBB:
   10750             :     case ARM::SMLALBT:
   10751             :     case ARM::SMLALD:
   10752             :     case ARM::SMLALDX:
   10753             :     case ARM::SMLALTB:
   10754             :     case ARM::SMLALTT:
   10755             :     case ARM::SMLSLD:
   10756             :     case ARM::SMLSLDX: {
   10757             :       // op: p
   10758          32 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
   10759          32 :       Value |= (op & UINT64_C(15)) << 28;
   10760             :       // op: Rn
   10761          32 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
   10762          32 :       Value |= op & UINT64_C(15);
   10763             :       // op: Rm
   10764          32 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
   10765          32 :       Value |= (op & UINT64_C(15)) << 8;
   10766             :       // op: RdLo
   10767          32 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10768          32 :       Value |= (op & UINT64_C(15)) << 12;
   10769             :       // op: RdHi
   10770          32 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
   10771          32 :       Value |= (op & UINT64_C(15)) << 16;
   10772          32 :       break;
   10773             :     }
   10774             :     case ARM::LDRD_PRE: {
   10775             :       // op: p
   10776           3 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
   10777           3 :       Value |= (op & UINT64_C(15)) << 28;
   10778             :       // op: Rt
   10779           3 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10780           3 :       Value |= (op & UINT64_C(15)) << 12;
   10781             :       // op: addr
   10782           3 :       op = getAddrMode3OpValue(MI, 3, Fixups, STI);
   10783           3 :       Value |= (op & UINT64_C(256)) << 15;
   10784           3 :       Value |= (op & UINT64_C(8192)) << 9;
   10785           3 :       Value |= (op & UINT64_C(7680)) << 7;
   10786           3 :       Value |= (op & UINT64_C(240)) << 4;
   10787           3 :       Value |= op & UINT64_C(15);
   10788           3 :       break;
   10789             :     }
   10790             :     case ARM::MRC: {
   10791             :       // op: p
   10792          25 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
   10793          25 :       Value |= (op & UINT64_C(15)) << 28;
   10794             :       // op: Rt
   10795          25 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
   10796          25 :       Value |= (op & UINT64_C(15)) << 12;
   10797             :       // op: cop
   10798          25 :       op = getMachineOpValue(MI, MI.getOperand(1), F