LCOV - code coverage report
Current view: top level - build-llvm/lib/Target/Sparc - SparcGenMCCodeEmitter.inc (source / functions) Hit Total Coverage
Test: llvm-toolchain.info Lines: 146 170 85.9 %
Date: 2018-07-13 00:08:38 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        1853 : uint64_t SparcMCCodeEmitter::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(2155880448),       // ADDCCri
     159             :     UINT64_C(2155872256),       // ADDCCrr
     160             :     UINT64_C(2151686144),       // ADDCri
     161             :     UINT64_C(2151677952),       // ADDCrr
     162             :     UINT64_C(2160074752),       // ADDEri
     163             :     UINT64_C(2160066560),       // ADDErr
     164             :     UINT64_C(2175795744),       // ADDXC
     165             :     UINT64_C(2175795808),       // ADDXCCC
     166             :     UINT64_C(2147491840),       // ADDXri
     167             :     UINT64_C(2147483648),       // ADDXrr
     168             :     UINT64_C(2147491840),       // ADDri
     169             :     UINT64_C(2147483648),       // ADDrr
     170             :     UINT64_C(2175795968),       // ALIGNADDR
     171             :     UINT64_C(2175796032),       // ALIGNADDRL
     172             :     UINT64_C(2156404736),       // ANDCCri
     173             :     UINT64_C(2156396544),       // ANDCCrr
     174             :     UINT64_C(2158501888),       // ANDNCCri
     175             :     UINT64_C(2158493696),       // ANDNCCrr
     176             :     UINT64_C(2150113280),       // ANDNri
     177             :     UINT64_C(2150105088),       // ANDNrr
     178             :     UINT64_C(2150105088),       // ANDXNrr
     179             :     UINT64_C(2148016128),       // ANDXri
     180             :     UINT64_C(2148007936),       // ANDXrr
     181             :     UINT64_C(2148016128),       // ANDri
     182             :     UINT64_C(2148007936),       // ANDrr
     183             :     UINT64_C(2175795776),       // ARRAY16
     184             :     UINT64_C(2175795840),       // ARRAY32
     185             :     UINT64_C(2175795712),       // ARRAY8
     186             :     UINT64_C(276824064),        // BA
     187             :     UINT64_C(8388608),  // BCOND
     188             :     UINT64_C(545259520),        // BCONDA
     189             :     UINT64_C(2176851968),       // BINDri
     190             :     UINT64_C(2176843776),       // BINDrr
     191             :     UINT64_C(2175796000),       // BMASK
     192             :     UINT64_C(21495808), // BPFCC
     193             :     UINT64_C(558366720),        // BPFCCA
     194             :     UINT64_C(557842432),        // BPFCCANT
     195             :     UINT64_C(20971520), // BPFCCNT
     196             :     UINT64_C(784334848),        // BPGEZapn
     197             :     UINT64_C(784859136),        // BPGEZapt
     198             :     UINT64_C(247463936),        // BPGEZnapn
     199             :     UINT64_C(247988224),        // BPGEZnapt
     200             :     UINT64_C(750780416),        // BPGZapn
     201             :     UINT64_C(751304704),        // BPGZapt
     202             :     UINT64_C(213909504),        // BPGZnapn
     203             :     UINT64_C(214433792),        // BPGZnapt
     204             :     UINT64_C(4718592),  // BPICC
     205             :     UINT64_C(541589504),        // BPICCA
     206             :     UINT64_C(541065216),        // BPICCANT
     207             :     UINT64_C(4194304),  // BPICCNT
     208             :     UINT64_C(616562688),        // BPLEZapn
     209             :     UINT64_C(617086976),        // BPLEZapt
     210             :     UINT64_C(79691776), // BPLEZnapn
     211             :     UINT64_C(80216064), // BPLEZnapt
     212             :     UINT64_C(650117120),        // BPLZapn
     213             :     UINT64_C(650641408),        // BPLZapt
     214             :     UINT64_C(113246208),        // BPLZnapn
     215             :     UINT64_C(113770496),        // BPLZnapt
     216             :     UINT64_C(717225984),        // BPNZapn
     217             :     UINT64_C(717750272),        // BPNZapt
     218             :     UINT64_C(180355072),        // BPNZnapn
     219             :     UINT64_C(180879360),        // BPNZnapt
     220             :     UINT64_C(6815744),  // BPXCC
     221             :     UINT64_C(543686656),        // BPXCCA
     222             :     UINT64_C(543162368),        // BPXCCANT
     223             :     UINT64_C(6291456),  // BPXCCNT
     224             :     UINT64_C(583008256),        // BPZapn
     225             :     UINT64_C(583532544),        // BPZapt
     226             :     UINT64_C(46137344), // BPZnapn
     227             :     UINT64_C(46661632), // BPZnapt
     228             :     UINT64_C(2175796096),       // BSHUFFLE
     229             :     UINT64_C(1073741824),       // CALL
     230             :     UINT64_C(2680168448),       // CALLri
     231             :     UINT64_C(2680160256),       // CALLrr
     232             :     UINT64_C(3252683072),       // CASAasi10
     233             :     UINT64_C(3252682752),       // CASArr
     234             :     UINT64_C(3253735424),       // CASXrr
     235             :     UINT64_C(3252686848),       // CASrr
     236             :     UINT64_C(29360128), // CBCOND
     237             :     UINT64_C(566231040),        // CBCONDA
     238             :     UINT64_C(2175796128),       // CMASK16
     239             :     UINT64_C(2175796192),       // CMASK32
     240             :     UINT64_C(2175796064),       // CMASK8
     241             :     UINT64_C(2157977600),       // CMPri
     242             :     UINT64_C(2157969408),       // CMPrr
     243             :     UINT64_C(2175795328),       // EDGE16
     244             :     UINT64_C(2175795392),       // EDGE16L
     245             :     UINT64_C(2175795424),       // EDGE16LN
     246             :     UINT64_C(2175795360),       // EDGE16N
     247             :     UINT64_C(2175795456),       // EDGE32
     248             :     UINT64_C(2175795520),       // EDGE32L
     249             :     UINT64_C(2175795552),       // EDGE32LN
     250             :     UINT64_C(2175795488),       // EDGE32N
     251             :     UINT64_C(2175795200),       // EDGE8
     252             :     UINT64_C(2175795264),       // EDGE8L
     253             :     UINT64_C(2175795296),       // EDGE8LN
     254             :     UINT64_C(2175795232),       // EDGE8N
     255             :     UINT64_C(2174746944),       // FABSD
     256             :     UINT64_C(2174746976),       // FABSQ
     257             :     UINT64_C(2174746912),       // FABSS
     258             :     UINT64_C(2174748736),       // FADDD
     259             :     UINT64_C(2174748768),       // FADDQ
     260             :     UINT64_C(2174748704),       // FADDS
     261             :     UINT64_C(2175797504),       // FALIGNADATA
     262             :     UINT64_C(2175798784),       // FAND
     263             :     UINT64_C(2175798528),       // FANDNOT1
     264             :     UINT64_C(2175798560),       // FANDNOT1S
     265             :     UINT64_C(2175798400),       // FANDNOT2
     266             :     UINT64_C(2175798432),       // FANDNOT2S
     267             :     UINT64_C(2175798816),       // FANDS
     268             :     UINT64_C(25165824), // FBCOND
     269             :     UINT64_C(562036736),        // FBCONDA
     270             :     UINT64_C(2175797376),       // FCHKSM16
     271             :     UINT64_C(2175273536),       // FCMPD
     272             :     UINT64_C(2175796544),       // FCMPEQ16
     273             :     UINT64_C(2175796672),       // FCMPEQ32
     274             :     UINT64_C(2175796480),       // FCMPGT16
     275             :     UINT64_C(2175796608),       // FCMPGT32
     276             :     UINT64_C(2175796224),       // FCMPLE16
     277             :     UINT64_C(2175796352),       // FCMPLE32
     278             :     UINT64_C(2175796288),       // FCMPNE16
     279             :     UINT64_C(2175796416),       // FCMPNE32
     280             :     UINT64_C(2175273568),       // FCMPQ
     281             :     UINT64_C(2175273504),       // FCMPS
     282             :     UINT64_C(2174749120),       // FDIVD
     283             :     UINT64_C(2174749152),       // FDIVQ
     284             :     UINT64_C(2174749088),       // FDIVS
     285             :     UINT64_C(2174750144),       // FDMULQ
     286             :     UINT64_C(2174753344),       // FDTOI
     287             :     UINT64_C(2174753216),       // FDTOQ
     288             :     UINT64_C(2174752960),       // FDTOS
     289             :     UINT64_C(2174750784),       // FDTOX
     290             :     UINT64_C(2175797664),       // FEXPAND
     291             :     UINT64_C(2174749760),       // FHADDD
     292             :     UINT64_C(2174749728),       // FHADDS
     293             :     UINT64_C(2174749888),       // FHSUBD
     294             :     UINT64_C(2174749856),       // FHSUBS
     295             :     UINT64_C(2174753024),       // FITOD
     296             :     UINT64_C(2174753152),       // FITOQ
     297             :     UINT64_C(2174752896),       // FITOS
     298             :     UINT64_C(2175806016),       // FLCMPD
     299             :     UINT64_C(2175805984),       // FLCMPS
     300             :     UINT64_C(2178416640),       // FLUSH
     301             :     UINT64_C(2170028032),       // FLUSHW
     302             :     UINT64_C(2178424832),       // FLUSHri
     303             :     UINT64_C(2178416640),       // FLUSHrr
     304             :     UINT64_C(2175797248),       // FMEAN16
     305             :     UINT64_C(2174746688),       // FMOVD
     306             :     UINT64_C(2175270976),       // FMOVD_FCC
     307             :     UINT64_C(2175279168),       // FMOVD_ICC
     308             :     UINT64_C(2175283264),       // FMOVD_XCC
     309             :     UINT64_C(2174746720),       // FMOVQ
     310             :     UINT64_C(2175271008),       // FMOVQ_FCC
     311             :     UINT64_C(2175279200),       // FMOVQ_ICC
     312             :     UINT64_C(2175283296),       // FMOVQ_XCC
     313             :     UINT64_C(2175278272),       // FMOVRGEZD
     314             :     UINT64_C(2175278304),       // FMOVRGEZQ
     315             :     UINT64_C(2175278240),       // FMOVRGEZS
     316             :     UINT64_C(2175277248),       // FMOVRGZD
     317             :     UINT64_C(2175277280),       // FMOVRGZQ
     318             :     UINT64_C(2175277216),       // FMOVRGZS
     319             :     UINT64_C(2175273152),       // FMOVRLEZD
     320             :     UINT64_C(2175273184),       // FMOVRLEZQ
     321             :     UINT64_C(2175273120),       // FMOVRLEZS
     322             :     UINT64_C(2175274176),       // FMOVRLZD
     323             :     UINT64_C(2175274208),       // FMOVRLZQ
     324             :     UINT64_C(2175274144),       // FMOVRLZS
     325             :     UINT64_C(2175276224),       // FMOVRNZD
     326             :     UINT64_C(2175276256),       // FMOVRNZQ
     327             :     UINT64_C(2175276192),       // FMOVRNZS
     328             :     UINT64_C(2175272128),       // FMOVRZD
     329             :     UINT64_C(2175272160),       // FMOVRZQ
     330             :     UINT64_C(2175272096),       // FMOVRZS
     331             :     UINT64_C(2174746656),       // FMOVS
     332             :     UINT64_C(2175270944),       // FMOVS_FCC
     333             :     UINT64_C(2175279136),       // FMOVS_ICC
     334             :     UINT64_C(2175283232),       // FMOVS_XCC
     335             :     UINT64_C(2175796928),       // FMUL8SUX16
     336             :     UINT64_C(2175796960),       // FMUL8ULX16
     337             :     UINT64_C(2175796768),       // FMUL8X16
     338             :     UINT64_C(2175796896),       // FMUL8X16AL
     339             :     UINT64_C(2175796832),       // FMUL8X16AU
     340             :     UINT64_C(2174748992),       // FMULD
     341             :     UINT64_C(2175796992),       // FMULD8SUX16
     342             :     UINT64_C(2175797024),       // FMULD8ULX16
     343             :     UINT64_C(2174749024),       // FMULQ
     344             :     UINT64_C(2174748960),       // FMULS
     345             :     UINT64_C(2174749248),       // FNADDD
     346             :     UINT64_C(2174749216),       // FNADDS
     347             :     UINT64_C(2175798720),       // FNAND
     348             :     UINT64_C(2175798752),       // FNANDS
     349             :     UINT64_C(2174746816),       // FNEGD
     350             :     UINT64_C(2174746848),       // FNEGQ
     351             :     UINT64_C(2174746784),       // FNEGS
     352             :     UINT64_C(2174750272),       // FNHADDD
     353             :     UINT64_C(2174750240),       // FNHADDS
     354             :     UINT64_C(2174749504),       // FNMULD
     355             :     UINT64_C(2174749472),       // FNMULS
     356             :     UINT64_C(2175798336),       // FNOR
     357             :     UINT64_C(2175798368),       // FNORS
     358             :     UINT64_C(2175798592),       // FNOT1
     359             :     UINT64_C(2175798624),       // FNOT1S
     360             :     UINT64_C(2175798464),       // FNOT2
     361             :     UINT64_C(2175798496),       // FNOT2S
     362             :     UINT64_C(2174750496),       // FNSMULD
     363             :     UINT64_C(2175799232),       // FONE
     364             :     UINT64_C(2175799264),       // FONES
     365             :     UINT64_C(2175799168),       // FOR
     366             :     UINT64_C(2175799104),       // FORNOT1
     367             :     UINT64_C(2175799136),       // FORNOT1S
     368             :     UINT64_C(2175798976),       // FORNOT2
     369             :     UINT64_C(2175799008),       // FORNOT2S
     370             :     UINT64_C(2175799200),       // FORS
     371             :     UINT64_C(2175797088),       // FPACK16
     372             :     UINT64_C(2175797056),       // FPACK32
     373             :     UINT64_C(2175797152),       // FPACKFIX
     374             :     UINT64_C(2175797760),       // FPADD16
     375             :     UINT64_C(2175797792),       // FPADD16S
     376             :     UINT64_C(2175797824),       // FPADD32
     377             :     UINT64_C(2175797856),       // FPADD32S
     378             :     UINT64_C(2175797312),       // FPADD64
     379             :     UINT64_C(2175797600),       // FPMERGE
     380             :     UINT64_C(2175797888),       // FPSUB16
     381             :     UINT64_C(2175797920),       // FPSUB16S
     382             :     UINT64_C(2175797952),       // FPSUB32
     383             :     UINT64_C(2175797984),       // FPSUB32S
     384             :     UINT64_C(2174753120),       // FQTOD
     385             :     UINT64_C(2174753376),       // FQTOI
     386             :     UINT64_C(2174752992),       // FQTOS
     387             :     UINT64_C(2174750816),       // FQTOX
     388             :     UINT64_C(2175796512),       // FSLAS16
     389             :     UINT64_C(2175796640),       // FSLAS32
     390             :     UINT64_C(2175796256),       // FSLL16
     391             :     UINT64_C(2175796384),       // FSLL32
     392             :     UINT64_C(2174749984),       // FSMULD
     393             :     UINT64_C(2174747968),       // FSQRTD
     394             :     UINT64_C(2174748000),       // FSQRTQ
     395             :     UINT64_C(2174747936),       // FSQRTS
     396             :     UINT64_C(2175796576),       // FSRA16
     397             :     UINT64_C(2175796704),       // FSRA32
     398             :     UINT64_C(2175798912),       // FSRC1
     399             :     UINT64_C(2175798944),       // FSRC1S
     400             :     UINT64_C(2175799040),       // FSRC2
     401             :     UINT64_C(2175799072),       // FSRC2S
     402             :     UINT64_C(2175796320),       // FSRL16
     403             :     UINT64_C(2175796448),       // FSRL32
     404             :     UINT64_C(2174753056),       // FSTOD
     405             :     UINT64_C(2174753312),       // FSTOI
     406             :     UINT64_C(2174753184),       // FSTOQ
     407             :     UINT64_C(2174750752),       // FSTOX
     408             :     UINT64_C(2174748864),       // FSUBD
     409             :     UINT64_C(2174748896),       // FSUBQ
     410             :     UINT64_C(2174748832),       // FSUBS
     411             :     UINT64_C(2175798848),       // FXNOR
     412             :     UINT64_C(2175798880),       // FXNORS
     413             :     UINT64_C(2175798656),       // FXOR
     414             :     UINT64_C(2175798688),       // FXORS
     415             :     UINT64_C(2174750976),       // FXTOD
     416             :     UINT64_C(2174751104),       // FXTOQ
     417             :     UINT64_C(2174750848),       // FXTOS
     418             :     UINT64_C(2175798272),       // FZERO
     419             :     UINT64_C(2175798304),       // FZEROS
     420             :     UINT64_C(2176851968),       // JMPLri
     421             :     UINT64_C(2176843776),       // JMPLrr
     422             :     UINT64_C(3229614080),       // LDArr
     423             :     UINT64_C(3246923776),       // LDCSRri
     424             :     UINT64_C(3246915584),       // LDCSRrr
     425             :     UINT64_C(3246399488),       // LDCri
     426             :     UINT64_C(3246391296),       // LDCrr
     427             :     UINT64_C(3231186944),       // LDDArr
     428             :     UINT64_C(3247972352),       // LDDCri
     429             :     UINT64_C(3247964160),       // LDDCrr
     430             :     UINT64_C(3247964160),       // LDDFArr
     431             :     UINT64_C(3239583744),       // LDDFri
     432             :     UINT64_C(3239575552),       // LDDFrr
     433             :     UINT64_C(3222806528),       // LDDri
     434             :     UINT64_C(3222798336),       // LDDrr
     435             :     UINT64_C(3246391296),       // LDFArr
     436             :     UINT64_C(3238535168),       // LDFSRri
     437             :     UINT64_C(3238526976),       // LDFSRrr
     438             :     UINT64_C(3238010880),       // LDFri
     439             :     UINT64_C(3238002688),       // LDFrr
     440             :     UINT64_C(3247439872),       // LDQFArr
     441             :     UINT64_C(3239059456),       // LDQFri
     442             :     UINT64_C(3239051264),       // LDQFrr
     443             :     UINT64_C(3234332672),       // LDSBArr
     444             :     UINT64_C(3225952256),       // LDSBri
     445             :     UINT64_C(3225944064),       // LDSBrr
     446             :     UINT64_C(3234856960),       // LDSHArr
     447             :     UINT64_C(3226476544),       // LDSHri
     448             :     UINT64_C(3226468352),       // LDSHrr
     449             :     UINT64_C(3236429824),       // LDSTUBArr
     450             :     UINT64_C(3228049408),       // LDSTUBri
     451             :     UINT64_C(3228041216),       // LDSTUBrr
     452             :     UINT64_C(3225427968),       // LDSWri
     453             :     UINT64_C(3225419776),       // LDSWrr
     454             :     UINT64_C(3230138368),       // LDUBArr
     455             :     UINT64_C(3221757952),       // LDUBri
     456             :     UINT64_C(3221749760),       // LDUBrr
     457             :     UINT64_C(3230662656),       // LDUHArr
     458             :     UINT64_C(3222282240),       // LDUHri
     459             :     UINT64_C(3222274048),       // LDUHrr
     460             :     UINT64_C(3272089600),       // LDXFSRri
     461             :     UINT64_C(3272081408),       // LDXFSRrr
     462             :     UINT64_C(3227000832),       // LDXri
     463             :     UINT64_C(3226992640),       // LDXrr
     464             :     UINT64_C(3221233664),       // LDri
     465             :     UINT64_C(3221225472),       // LDrr
     466             :     UINT64_C(2147491840),       // LEAX_ADDri
     467             :     UINT64_C(2147491840),       // LEA_ADDri
     468             :     UINT64_C(2175795936),       // LZCNT
     469             :     UINT64_C(2168709120),       // MEMBARi
     470             :     UINT64_C(2175803904),       // MOVDTOX
     471             :     UINT64_C(2170560512),       // MOVFCCri
     472             :     UINT64_C(2170552320),       // MOVFCCrr
     473             :     UINT64_C(2170822656),       // MOVICCri
     474             :     UINT64_C(2170814464),       // MOVICCrr
     475             :     UINT64_C(2172140544),       // MOVRGEZri
     476             :     UINT64_C(2172132352),       // MOVRGEZrr
     477             :     UINT64_C(2172139520),       // MOVRGZri
     478             :     UINT64_C(2172131328),       // MOVRGZrr
     479             :     UINT64_C(2172135424),       // MOVRLEZri
     480             :     UINT64_C(2172127232),       // MOVRLEZrr
     481             :     UINT64_C(2172136448),       // MOVRLZri
     482             :     UINT64_C(2172128256),       // MOVRLZrr
     483             :     UINT64_C(2172138496),       // MOVRNZri
     484             :     UINT64_C(2172130304),       // MOVRNZrr
     485             :     UINT64_C(2172134400),       // MOVRRZri
     486             :     UINT64_C(2172126208),       // MOVRRZrr
     487             :     UINT64_C(2175804000),       // MOVSTOSW
     488             :     UINT64_C(2175803936),       // MOVSTOUW
     489             :     UINT64_C(2175804192),       // MOVWTOS
     490             :     UINT64_C(2170826752),       // MOVXCCri
     491             :     UINT64_C(2170818560),       // MOVXCCrr
     492             :     UINT64_C(2175804160),       // MOVXTOD
     493             :     UINT64_C(2166366208),       // MULSCCri
     494             :     UINT64_C(2166358016),       // MULSCCrr
     495             :     UINT64_C(2152210432),       // MULXri
     496             :     UINT64_C(2152202240),       // MULXrr
     497             :     UINT64_C(16777216), // NOP
     498             :     UINT64_C(2156929024),       // ORCCri
     499             :     UINT64_C(2156920832),       // ORCCrr
     500             :     UINT64_C(2159026176),       // ORNCCri
     501             :     UINT64_C(2159017984),       // ORNCCrr
     502             :     UINT64_C(2150637568),       // ORNri
     503             :     UINT64_C(2150629376),       // ORNrr
     504             :     UINT64_C(2150629376),       // ORXNrr
     505             :     UINT64_C(2148540416),       // ORXri
     506             :     UINT64_C(2148532224),       // ORXrr
     507             :     UINT64_C(2148540416),       // ORri
     508             :     UINT64_C(2148532224),       // ORrr
     509             :     UINT64_C(2175797184),       // PDIST
     510             :     UINT64_C(2175797216),       // PDISTN
     511             :     UINT64_C(2171600896),       // POPCrr
     512             :     UINT64_C(2168455168),       // RDASR
     513             :     UINT64_C(2169503744),       // RDPR
     514             :     UINT64_C(2168979456),       // RDPSR
     515             :     UINT64_C(2170028032),       // RDTBR
     516             :     UINT64_C(2169503744),       // RDWIM
     517             :     UINT64_C(2179473408),       // RESTOREri
     518             :     UINT64_C(2179465216),       // RESTORErr
     519             :     UINT64_C(2177359872),       // RET
     520             :     UINT64_C(2177097728),       // RETL
     521             :     UINT64_C(2177376256),       // RETTri
     522             :     UINT64_C(2177368064),       // RETTrr
     523             :     UINT64_C(2178949120),       // SAVEri
     524             :     UINT64_C(2178940928),       // SAVErr
     525             :     UINT64_C(2163744768),       // SDIVCCri
     526             :     UINT64_C(2163736576),       // SDIVCCrr
     527             :     UINT64_C(2171084800),       // SDIVXri
     528             :     UINT64_C(2171076608),       // SDIVXrr
     529             :     UINT64_C(2155356160),       // SDIVri
     530             :     UINT64_C(2155347968),       // SDIVrr
     531             :     UINT64_C(16777216), // SETHIXi
     532             :     UINT64_C(16777216), // SETHIi
     533             :     UINT64_C(2175799296),       // SHUTDOWN
     534             :     UINT64_C(2175799328),       // SIAM
     535             :     UINT64_C(2166894592),       // SLLXri
     536             :     UINT64_C(2166886400),       // SLLXrr
     537             :     UINT64_C(2166890496),       // SLLri
     538             :     UINT64_C(2166882304),       // SLLrr
     539             :     UINT64_C(2180521984),       // SMACri
     540             :     UINT64_C(2180513792),       // SMACrr
     541             :     UINT64_C(2161647616),       // SMULCCri
     542             :     UINT64_C(2161639424),       // SMULCCrr
     543             :     UINT64_C(2153259008),       // SMULri
     544             :     UINT64_C(2153250816),       // SMULrr
     545             :     UINT64_C(2167943168),       // SRAXri
     546             :     UINT64_C(2167934976),       // SRAXrr
     547             :     UINT64_C(2167939072),       // SRAri
     548             :     UINT64_C(2167930880),       // SRArr
     549             :     UINT64_C(2167418880),       // SRLXri
     550             :     UINT64_C(2167410688),       // SRLXrr
     551             :     UINT64_C(2167414784),       // SRLri
     552             :     UINT64_C(2167406592),       // SRLrr
     553             :     UINT64_C(3231711232),       // STArr
     554             :     UINT64_C(2168700928),       // STBAR
     555             :     UINT64_C(3232235520),       // STBArr
     556             :     UINT64_C(3223855104),       // STBri
     557             :     UINT64_C(3223846912),       // STBrr
     558             :     UINT64_C(3249020928),       // STCSRri
     559             :     UINT64_C(3249012736),       // STCSRrr
     560             :     UINT64_C(3248496640),       // STCri
     561             :     UINT64_C(3248488448),       // STCrr
     562             :     UINT64_C(3233284096),       // STDArr
     563             :     UINT64_C(3249545216),       // STDCQri
     564             :     UINT64_C(3249537024),       // STDCQrr
     565             :     UINT64_C(3250069504),       // STDCri
     566             :     UINT64_C(3250061312),       // STDCrr
     567             :     UINT64_C(3250061312),       // STDFArr
     568             :     UINT64_C(3241156608),       // STDFQri
     569             :     UINT64_C(3241148416),       // STDFQrr
     570             :     UINT64_C(3241680896),       // STDFri
     571             :     UINT64_C(3241672704),       // STDFrr
     572             :     UINT64_C(3224903680),       // STDri
     573             :     UINT64_C(3224895488),       // STDrr
     574             :     UINT64_C(3248488448),       // STFArr
     575             :     UINT64_C(3240632320),       // STFSRri
     576             :     UINT64_C(3240624128),       // STFSRrr
     577             :     UINT64_C(3240108032),       // STFri
     578             :     UINT64_C(3240099840),       // STFrr
     579             :     UINT64_C(3232759808),       // STHArr
     580             :     UINT64_C(3224379392),       // STHri
     581             :     UINT64_C(3224371200),       // STHrr
     582             :     UINT64_C(3249537024),       // STQFArr
     583             :     UINT64_C(3241156608),       // STQFri
     584             :     UINT64_C(3241148416),       // STQFrr
     585             :     UINT64_C(3274186752),       // STXFSRri
     586             :     UINT64_C(3274178560),       // STXFSRrr
     587             :     UINT64_C(3228573696),       // STXri
     588             :     UINT64_C(3228565504),       // STXrr
     589             :     UINT64_C(3223330816),       // STri
     590             :     UINT64_C(3223322624),       // STrr
     591             :     UINT64_C(2157977600),       // SUBCCri
     592             :     UINT64_C(2157969408),       // SUBCCrr
     593             :     UINT64_C(2153783296),       // SUBCri
     594             :     UINT64_C(2153775104),       // SUBCrr
     595             :     UINT64_C(2162171904),       // SUBEri
     596             :     UINT64_C(2162163712),       // SUBErr
     597             :     UINT64_C(2149588992),       // SUBXri
     598             :     UINT64_C(2149580800),       // SUBXrr
     599             :     UINT64_C(2149588992),       // SUBri
     600             :     UINT64_C(2149580800),       // SUBrr
     601             :     UINT64_C(3237478400),       // SWAPArr
     602             :     UINT64_C(3229097984),       // SWAPri
     603             :     UINT64_C(3229089792),       // SWAPrr
     604             :     UINT64_C(2177916931),       // TA3
     605             :     UINT64_C(2446336005),       // TA5
     606             :     UINT64_C(2165317632),       // TADDCCTVri
     607             :     UINT64_C(2165309440),       // TADDCCTVrr
     608             :     UINT64_C(2164269056),       // TADDCCri
     609             :     UINT64_C(2164260864),       // TADDCCrr
     610             :     UINT64_C(2177900544),       // TICCri
     611             :     UINT64_C(2177892352),       // TICCrr
     612             :     UINT64_C(2147483648),       // TLS_ADDXrr
     613             :     UINT64_C(2147483648),       // TLS_ADDrr
     614             :     UINT64_C(1073741824),       // TLS_CALL
     615             :     UINT64_C(3226992640),       // TLS_LDXrr
     616             :     UINT64_C(3221225472),       // TLS_LDrr
     617             :     UINT64_C(2177900544),       // TRAPri
     618             :     UINT64_C(2177892352),       // TRAPrr
     619             :     UINT64_C(2165841920),       // TSUBCCTVri
     620             :     UINT64_C(2165833728),       // TSUBCCTVrr
     621             :     UINT64_C(2164793344),       // TSUBCCri
     622             :     UINT64_C(2164785152),       // TSUBCCrr
     623             :     UINT64_C(2177904640),       // TXCCri
     624             :     UINT64_C(2177896448),       // TXCCrr
     625             :     UINT64_C(2163220480),       // UDIVCCri
     626             :     UINT64_C(2163212288),       // UDIVCCrr
     627             :     UINT64_C(2154307584),       // UDIVXri
     628             :     UINT64_C(2154299392),       // UDIVXrr
     629             :     UINT64_C(2154831872),       // UDIVri
     630             :     UINT64_C(2154823680),       // UDIVrr
     631             :     UINT64_C(2179997696),       // UMACri
     632             :     UINT64_C(2179989504),       // UMACrr
     633             :     UINT64_C(2161123328),       // UMULCCri
     634             :     UINT64_C(2161115136),       // UMULCCrr
     635             :     UINT64_C(2175795904),       // UMULXHI
     636             :     UINT64_C(2152734720),       // UMULri
     637             :     UINT64_C(2152726528),       // UMULrr
     638             :     UINT64_C(0),        // UNIMP
     639             :     UINT64_C(2175273536),       // V9FCMPD
     640             :     UINT64_C(2175273664),       // V9FCMPED
     641             :     UINT64_C(2175273696),       // V9FCMPEQ
     642             :     UINT64_C(2175273632),       // V9FCMPES
     643             :     UINT64_C(2175273568),       // V9FCMPQ
     644             :     UINT64_C(2175273504),       // V9FCMPS
     645             :     UINT64_C(2175270976),       // V9FMOVD_FCC
     646             :     UINT64_C(2175271008),       // V9FMOVQ_FCC
     647             :     UINT64_C(2175270944),       // V9FMOVS_FCC
     648             :     UINT64_C(2170560512),       // V9MOVFCCri
     649             :     UINT64_C(2170552320),       // V9MOVFCCrr
     650             :     UINT64_C(2172657664),       // WRASRri
     651             :     UINT64_C(2172649472),       // WRASRrr
     652             :     UINT64_C(2173706240),       // WRPRri
     653             :     UINT64_C(2173698048),       // WRPRrr
     654             :     UINT64_C(2173181952),       // WRPSRri
     655             :     UINT64_C(2173173760),       // WRPSRrr
     656             :     UINT64_C(2174230528),       // WRTBRri
     657             :     UINT64_C(2174222336),       // WRTBRrr
     658             :     UINT64_C(2173706240),       // WRWIMri
     659             :     UINT64_C(2173698048),       // WRWIMrr
     660             :     UINT64_C(2175804064),       // XMULX
     661             :     UINT64_C(2175804128),       // XMULXHI
     662             :     UINT64_C(2159550464),       // XNORCCri
     663             :     UINT64_C(2159542272),       // XNORCCrr
     664             :     UINT64_C(2151153664),       // XNORXrr
     665             :     UINT64_C(2151161856),       // XNORri
     666             :     UINT64_C(2151153664),       // XNORrr
     667             :     UINT64_C(2157453312),       // XORCCri
     668             :     UINT64_C(2157445120),       // XORCCrr
     669             :     UINT64_C(2149064704),       // XORXri
     670             :     UINT64_C(2149056512),       // XORXrr
     671             :     UINT64_C(2149064704),       // XORri
     672             :     UINT64_C(2149056512),       // XORrr
     673             :     UINT64_C(0)
     674             :   };
     675        1853 :   const unsigned opcode = MI.getOpcode();
     676        1853 :   uint64_t Value = InstBits[opcode];
     677             :   uint64_t op = 0;
     678             :   (void)op;  // suppress warning
     679        1853 :   switch (opcode) {
     680             :     case SP::FLUSH:
     681             :     case SP::FLUSHW:
     682             :     case SP::NOP:
     683             :     case SP::SHUTDOWN:
     684             :     case SP::SIAM:
     685             :     case SP::STBAR:
     686             :     case SP::TA3:
     687             :     case SP::TA5: {
     688             :       break;
     689             :     }
     690             :     case SP::BPFCC:
     691             :     case SP::BPFCCA:
     692             :     case SP::BPFCCANT:
     693             :     case SP::BPFCCNT: {
     694             :       // op: cc
     695          94 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
     696          94 :       Value |= (op & UINT64_C(3)) << 20;
     697             :       // op: cond
     698          94 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
     699          94 :       Value |= (op & UINT64_C(15)) << 25;
     700             :       // op: imm19
     701          94 :       op = getBranchPredTargetOpValue(MI, 0, Fixups, STI);
     702          94 :       Value |= op & UINT64_C(524287);
     703             :       break;
     704             :     }
     705             :     case SP::BPICC:
     706             :     case SP::BPICCA:
     707             :     case SP::BPICCANT:
     708             :     case SP::BPICCNT:
     709             :     case SP::BPXCC:
     710             :     case SP::BPXCCA:
     711             :     case SP::BPXCCANT:
     712             :     case SP::BPXCCNT: {
     713             :       // op: cond
     714         148 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
     715         148 :       Value |= (op & UINT64_C(15)) << 25;
     716             :       // op: imm19
     717         148 :       op = getBranchPredTargetOpValue(MI, 0, Fixups, STI);
     718         148 :       Value |= op & UINT64_C(524287);
     719             :       break;
     720             :     }
     721          24 :     case SP::CALL:
     722             :     case SP::TLS_CALL: {
     723             :       // op: disp
     724          24 :       op = getCallTargetOpValue(MI, 0, Fixups, STI);
     725          24 :       Value |= op & UINT64_C(1073741823);
     726             :       break;
     727             :     }
     728          11 :     case SP::BPGEZapn:
     729             :     case SP::BPGEZapt:
     730             :     case SP::BPGEZnapn:
     731             :     case SP::BPGEZnapt:
     732             :     case SP::BPGZapn:
     733             :     case SP::BPGZapt:
     734             :     case SP::BPGZnapn:
     735             :     case SP::BPGZnapt:
     736             :     case SP::BPLEZapn:
     737             :     case SP::BPLEZapt:
     738             :     case SP::BPLEZnapn:
     739             :     case SP::BPLEZnapt:
     740             :     case SP::BPLZapn:
     741             :     case SP::BPLZapt:
     742             :     case SP::BPLZnapn:
     743             :     case SP::BPLZnapt:
     744             :     case SP::BPNZapn:
     745             :     case SP::BPNZapt:
     746             :     case SP::BPNZnapn:
     747             :     case SP::BPNZnapt:
     748             :     case SP::BPZapn:
     749             :     case SP::BPZapt:
     750             :     case SP::BPZnapn:
     751             :     case SP::BPZnapt: {
     752             :       // op: imm16
     753          11 :       op = getBranchOnRegTargetOpValue(MI, 1, Fixups, STI);
     754          11 :       Value |= (op & UINT64_C(49152)) << 6;
     755          11 :       Value |= op & UINT64_C(16383);
     756             :       // op: rs1
     757          11 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
     758          11 :       Value |= (op & UINT64_C(31)) << 14;
     759             :       break;
     760             :     }
     761           4 :     case SP::BA: {
     762             :       // op: imm22
     763           4 :       op = getBranchTargetOpValue(MI, 0, Fixups, STI);
     764           4 :       Value |= op & UINT64_C(4194303);
     765             :       break;
     766             :     }
     767         225 :     case SP::BCOND:
     768             :     case SP::BCONDA:
     769             :     case SP::CBCOND:
     770             :     case SP::CBCONDA:
     771             :     case SP::FBCOND:
     772             :     case SP::FBCONDA: {
     773             :       // op: imm22
     774         225 :       op = getBranchTargetOpValue(MI, 0, Fixups, STI);
     775         225 :       Value |= op & UINT64_C(4194303);
     776             :       // op: cond
     777         225 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
     778         225 :       Value |= (op & UINT64_C(15)) << 25;
     779             :       break;
     780             :     }
     781             :     case SP::UNIMP: {
     782             :       // op: imm22
     783           1 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
     784           1 :       Value |= op & UINT64_C(4194303);
     785             :       break;
     786             :     }
     787             :     case SP::SETHIXi:
     788             :     case SP::SETHIi: {
     789             :       // op: imm22
     790          99 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
     791          99 :       Value |= op & UINT64_C(4194303);
     792             :       // op: rd
     793          99 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
     794          99 :       Value |= (op & UINT64_C(31)) << 25;
     795             :       break;
     796             :     }
     797             :     case SP::FONE:
     798             :     case SP::FONES:
     799             :     case SP::FZERO:
     800             :     case SP::FZEROS:
     801             :     case SP::RDPSR:
     802             :     case SP::RDTBR:
     803             :     case SP::RDWIM: {
     804             :       // op: rd
     805          19 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
     806          19 :       Value |= (op & UINT64_C(31)) << 25;
     807             :       break;
     808             :     }
     809             :     case SP::V9MOVFCCrr: {
     810             :       // op: rd
     811          15 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
     812          15 :       Value |= (op & UINT64_C(31)) << 25;
     813             :       // op: cc
     814          15 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
     815          15 :       Value |= (op & UINT64_C(3)) << 11;
     816             :       // op: cond
     817          15 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
     818          15 :       Value |= (op & UINT64_C(15)) << 14;
     819             :       // op: rs2
     820          15 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
     821          15 :       Value |= op & UINT64_C(31);
     822             :       break;
     823             :     }
     824             :     case SP::V9MOVFCCri: {
     825             :       // op: rd
     826           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
     827           0 :       Value |= (op & UINT64_C(31)) << 25;
     828             :       // op: cc
     829           0 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
     830           0 :       Value |= (op & UINT64_C(3)) << 11;
     831             :       // op: cond
     832           0 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
     833           0 :       Value |= (op & UINT64_C(15)) << 14;
     834             :       // op: simm11
     835           0 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
     836           0 :       Value |= op & UINT64_C(2047);
     837             :       break;
     838             :     }
     839             :     case SP::FMOVD_FCC:
     840             :     case SP::FMOVD_ICC:
     841             :     case SP::FMOVD_XCC:
     842             :     case SP::FMOVQ_FCC:
     843             :     case SP::FMOVQ_ICC:
     844             :     case SP::FMOVQ_XCC:
     845             :     case SP::FMOVS_FCC:
     846             :     case SP::FMOVS_ICC:
     847             :     case SP::FMOVS_XCC:
     848             :     case SP::MOVFCCrr:
     849             :     case SP::MOVICCrr:
     850             :     case SP::MOVXCCrr: {
     851             :       // op: rd
     852          56 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
     853          56 :       Value |= (op & UINT64_C(31)) << 25;
     854             :       // op: cond
     855          56 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
     856          56 :       Value |= (op & UINT64_C(15)) << 14;
     857             :       // op: rs2
     858          56 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
     859          56 :       Value |= op & UINT64_C(31);
     860             :       break;
     861             :     }
     862             :     case SP::MOVFCCri:
     863             :     case SP::MOVICCri:
     864             :     case SP::MOVXCCri: {
     865             :       // op: rd
     866           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
     867           0 :       Value |= (op & UINT64_C(31)) << 25;
     868             :       // op: cond
     869           0 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
     870           0 :       Value |= (op & UINT64_C(15)) << 14;
     871             :       // op: simm11
     872           0 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
     873           0 :       Value |= op & UINT64_C(2047);
     874             :       break;
     875             :     }
     876             :     case SP::V9FMOVD_FCC:
     877             :     case SP::V9FMOVQ_FCC:
     878             :     case SP::V9FMOVS_FCC: {
     879             :       // op: rd
     880          15 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
     881          15 :       Value |= (op & UINT64_C(31)) << 25;
     882             :       // op: cond
     883          15 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
     884          15 :       Value |= (op & UINT64_C(15)) << 14;
     885             :       // op: opf_cc
     886          15 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
     887          15 :       Value |= (op & UINT64_C(3)) << 11;
     888             :       // op: rs2
     889          15 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
     890          15 :       Value |= op & UINT64_C(31);
     891             :       break;
     892             :     }
     893             :     case SP::FNOT1:
     894             :     case SP::FNOT1S:
     895             :     case SP::FSRC1:
     896             :     case SP::FSRC1S:
     897             :     case SP::RDASR:
     898             :     case SP::RDPR: {
     899             :       // op: rd
     900          31 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
     901          31 :       Value |= (op & UINT64_C(31)) << 25;
     902             :       // op: rs1
     903          31 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
     904          31 :       Value |= (op & UINT64_C(31)) << 14;
     905             :       break;
     906             :     }
     907             :     case SP::LDArr:
     908             :     case SP::LDDArr:
     909             :     case SP::LDDFArr:
     910             :     case SP::LDFArr:
     911             :     case SP::LDQFArr:
     912             :     case SP::LDSBArr:
     913             :     case SP::LDSHArr:
     914             :     case SP::LDSTUBArr:
     915             :     case SP::LDUBArr:
     916             :     case SP::LDUHArr:
     917             :     case SP::SWAPArr: {
     918             :       // op: rd
     919          20 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
     920          20 :       Value |= (op & UINT64_C(31)) << 25;
     921             :       // op: rs1
     922          20 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
     923          20 :       Value |= (op & UINT64_C(31)) << 14;
     924             :       // op: asi
     925          20 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
     926          20 :       Value |= (op & UINT64_C(255)) << 5;
     927             :       // op: rs2
     928          20 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
     929          20 :       Value |= op & UINT64_C(31);
     930             :       break;
     931             :     }
     932             :     case SP::CASArr: {
     933             :       // op: rd
     934          10 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
     935          10 :       Value |= (op & UINT64_C(31)) << 25;
     936             :       // op: rs1
     937          10 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
     938          10 :       Value |= (op & UINT64_C(31)) << 14;
     939             :       // op: asi
     940          10 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
     941          10 :       Value |= (op & UINT64_C(255)) << 5;
     942             :       // op: rs2
     943          10 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
     944          10 :       Value |= op & UINT64_C(31);
     945             :       break;
     946             :     }
     947             :     case SP::ADDCCrr:
     948             :     case SP::ADDCrr:
     949             :     case SP::ADDErr:
     950             :     case SP::ADDXC:
     951             :     case SP::ADDXCCC:
     952             :     case SP::ADDXrr:
     953             :     case SP::ADDrr:
     954             :     case SP::ALIGNADDR:
     955             :     case SP::ALIGNADDRL:
     956             :     case SP::ANDCCrr:
     957             :     case SP::ANDNCCrr:
     958             :     case SP::ANDNrr:
     959             :     case SP::ANDXNrr:
     960             :     case SP::ANDXrr:
     961             :     case SP::ANDrr:
     962             :     case SP::ARRAY16:
     963             :     case SP::ARRAY32:
     964             :     case SP::ARRAY8:
     965             :     case SP::BMASK:
     966             :     case SP::BSHUFFLE:
     967             :     case SP::CASAasi10:
     968             :     case SP::CASXrr:
     969             :     case SP::CASrr:
     970             :     case SP::EDGE16:
     971             :     case SP::EDGE16L:
     972             :     case SP::EDGE16LN:
     973             :     case SP::EDGE16N:
     974             :     case SP::EDGE32:
     975             :     case SP::EDGE32L:
     976             :     case SP::EDGE32LN:
     977             :     case SP::EDGE32N:
     978             :     case SP::EDGE8:
     979             :     case SP::EDGE8L:
     980             :     case SP::EDGE8LN:
     981             :     case SP::EDGE8N:
     982             :     case SP::FADDD:
     983             :     case SP::FADDQ:
     984             :     case SP::FADDS:
     985             :     case SP::FALIGNADATA:
     986             :     case SP::FAND:
     987             :     case SP::FANDNOT1:
     988             :     case SP::FANDNOT1S:
     989             :     case SP::FANDNOT2:
     990             :     case SP::FANDNOT2S:
     991             :     case SP::FANDS:
     992             :     case SP::FCHKSM16:
     993             :     case SP::FCMPEQ16:
     994             :     case SP::FCMPEQ32:
     995             :     case SP::FCMPGT16:
     996             :     case SP::FCMPGT32:
     997             :     case SP::FCMPLE16:
     998             :     case SP::FCMPLE32:
     999             :     case SP::FCMPNE16:
    1000             :     case SP::FCMPNE32:
    1001             :     case SP::FDIVD:
    1002             :     case SP::FDIVQ:
    1003             :     case SP::FDIVS:
    1004             :     case SP::FDMULQ:
    1005             :     case SP::FHADDD:
    1006             :     case SP::FHADDS:
    1007             :     case SP::FHSUBD:
    1008             :     case SP::FHSUBS:
    1009             :     case SP::FLCMPD:
    1010             :     case SP::FLCMPS:
    1011             :     case SP::FMEAN16:
    1012             :     case SP::FMOVRGEZD:
    1013             :     case SP::FMOVRGEZQ:
    1014             :     case SP::FMOVRGEZS:
    1015             :     case SP::FMOVRGZD:
    1016             :     case SP::FMOVRGZQ:
    1017             :     case SP::FMOVRGZS:
    1018             :     case SP::FMOVRLEZD:
    1019             :     case SP::FMOVRLEZQ:
    1020             :     case SP::FMOVRLEZS:
    1021             :     case SP::FMOVRLZD:
    1022             :     case SP::FMOVRLZQ:
    1023             :     case SP::FMOVRLZS:
    1024             :     case SP::FMOVRNZD:
    1025             :     case SP::FMOVRNZQ:
    1026             :     case SP::FMOVRNZS:
    1027             :     case SP::FMOVRZD:
    1028             :     case SP::FMOVRZQ:
    1029             :     case SP::FMOVRZS:
    1030             :     case SP::FMUL8SUX16:
    1031             :     case SP::FMUL8ULX16:
    1032             :     case SP::FMUL8X16:
    1033             :     case SP::FMUL8X16AL:
    1034             :     case SP::FMUL8X16AU:
    1035             :     case SP::FMULD:
    1036             :     case SP::FMULD8SUX16:
    1037             :     case SP::FMULD8ULX16:
    1038             :     case SP::FMULQ:
    1039             :     case SP::FMULS:
    1040             :     case SP::FNADDD:
    1041             :     case SP::FNADDS:
    1042             :     case SP::FNAND:
    1043             :     case SP::FNANDS:
    1044             :     case SP::FNHADDD:
    1045             :     case SP::FNHADDS:
    1046             :     case SP::FNMULD:
    1047             :     case SP::FNMULS:
    1048             :     case SP::FNOR:
    1049             :     case SP::FNORS:
    1050             :     case SP::FNSMULD:
    1051             :     case SP::FOR:
    1052             :     case SP::FORNOT1:
    1053             :     case SP::FORNOT1S:
    1054             :     case SP::FORNOT2:
    1055             :     case SP::FORNOT2S:
    1056             :     case SP::FORS:
    1057             :     case SP::FPACK32:
    1058             :     case SP::FPADD16:
    1059             :     case SP::FPADD16S:
    1060             :     case SP::FPADD32:
    1061             :     case SP::FPADD32S:
    1062             :     case SP::FPADD64:
    1063             :     case SP::FPMERGE:
    1064             :     case SP::FPSUB16:
    1065             :     case SP::FPSUB16S:
    1066             :     case SP::FPSUB32:
    1067             :     case SP::FPSUB32S:
    1068             :     case SP::FSLAS16:
    1069             :     case SP::FSLAS32:
    1070             :     case SP::FSLL16:
    1071             :     case SP::FSLL32:
    1072             :     case SP::FSMULD:
    1073             :     case SP::FSRA16:
    1074             :     case SP::FSRA32:
    1075             :     case SP::FSRL16:
    1076             :     case SP::FSRL32:
    1077             :     case SP::FSUBD:
    1078             :     case SP::FSUBQ:
    1079             :     case SP::FSUBS:
    1080             :     case SP::FXNOR:
    1081             :     case SP::FXNORS:
    1082             :     case SP::FXOR:
    1083             :     case SP::FXORS:
    1084             :     case SP::JMPLrr:
    1085             :     case SP::LDCrr:
    1086             :     case SP::LDDCrr:
    1087             :     case SP::LDDFrr:
    1088             :     case SP::LDDrr:
    1089             :     case SP::LDFrr:
    1090             :     case SP::LDQFrr:
    1091             :     case SP::LDSBrr:
    1092             :     case SP::LDSHrr:
    1093             :     case SP::LDSTUBrr:
    1094             :     case SP::LDSWrr:
    1095             :     case SP::LDUBrr:
    1096             :     case SP::LDUHrr:
    1097             :     case SP::LDXrr:
    1098             :     case SP::LDrr:
    1099             :     case SP::MOVRGEZrr:
    1100             :     case SP::MOVRGZrr:
    1101             :     case SP::MOVRLEZrr:
    1102             :     case SP::MOVRLZrr:
    1103             :     case SP::MOVRNZrr:
    1104             :     case SP::MOVRRZrr:
    1105             :     case SP::MULSCCrr:
    1106             :     case SP::MULXrr:
    1107             :     case SP::ORCCrr:
    1108             :     case SP::ORNCCrr:
    1109             :     case SP::ORNrr:
    1110             :     case SP::ORXNrr:
    1111             :     case SP::ORXrr:
    1112             :     case SP::ORrr:
    1113             :     case SP::PDIST:
    1114             :     case SP::PDISTN:
    1115             :     case SP::RESTORErr:
    1116             :     case SP::SAVErr:
    1117             :     case SP::SDIVCCrr:
    1118             :     case SP::SDIVXrr:
    1119             :     case SP::SDIVrr:
    1120             :     case SP::SLLXrr:
    1121             :     case SP::SLLrr:
    1122             :     case SP::SMACrr:
    1123             :     case SP::SMULCCrr:
    1124             :     case SP::SMULrr:
    1125             :     case SP::SRAXrr:
    1126             :     case SP::SRArr:
    1127             :     case SP::SRLXrr:
    1128             :     case SP::SRLrr:
    1129             :     case SP::SUBCCrr:
    1130             :     case SP::SUBCrr:
    1131             :     case SP::SUBErr:
    1132             :     case SP::SUBXrr:
    1133             :     case SP::SUBrr:
    1134             :     case SP::SWAPrr:
    1135             :     case SP::TADDCCTVrr:
    1136             :     case SP::TADDCCrr:
    1137             :     case SP::TLS_ADDXrr:
    1138             :     case SP::TLS_ADDrr:
    1139             :     case SP::TLS_LDXrr:
    1140             :     case SP::TLS_LDrr:
    1141             :     case SP::TSUBCCTVrr:
    1142             :     case SP::TSUBCCrr:
    1143             :     case SP::UDIVCCrr:
    1144             :     case SP::UDIVXrr:
    1145             :     case SP::UDIVrr:
    1146             :     case SP::UMACrr:
    1147             :     case SP::UMULCCrr:
    1148             :     case SP::UMULXHI:
    1149             :     case SP::UMULrr:
    1150             :     case SP::V9FCMPD:
    1151             :     case SP::V9FCMPED:
    1152             :     case SP::V9FCMPEQ:
    1153             :     case SP::V9FCMPES:
    1154             :     case SP::V9FCMPQ:
    1155             :     case SP::V9FCMPS:
    1156             :     case SP::WRASRrr:
    1157             :     case SP::WRPRrr:
    1158             :     case SP::XMULX:
    1159             :     case SP::XMULXHI:
    1160             :     case SP::XNORCCrr:
    1161             :     case SP::XNORXrr:
    1162             :     case SP::XNORrr:
    1163             :     case SP::XORCCrr:
    1164             :     case SP::XORXrr:
    1165             :     case SP::XORrr: {
    1166             :       // op: rd
    1167         354 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    1168         354 :       Value |= (op & UINT64_C(31)) << 25;
    1169             :       // op: rs1
    1170         354 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    1171         354 :       Value |= (op & UINT64_C(31)) << 14;
    1172             :       // op: rs2
    1173         354 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    1174         354 :       Value |= op & UINT64_C(31);
    1175             :       break;
    1176             :     }
    1177             :     case SP::SLLXri:
    1178             :     case SP::SRAXri:
    1179             :     case SP::SRLXri: {
    1180             :       // op: rd
    1181           6 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    1182           6 :       Value |= (op & UINT64_C(31)) << 25;
    1183             :       // op: rs1
    1184           6 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    1185           6 :       Value |= (op & UINT64_C(31)) << 14;
    1186             :       // op: shcnt
    1187           6 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    1188           6 :       Value |= op & UINT64_C(63);
    1189             :       break;
    1190             :     }
    1191             :     case SP::MOVRGEZri:
    1192             :     case SP::MOVRGZri:
    1193             :     case SP::MOVRLEZri:
    1194             :     case SP::MOVRLZri:
    1195             :     case SP::MOVRNZri:
    1196             :     case SP::MOVRRZri: {
    1197             :       // op: rd
    1198           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    1199           0 :       Value |= (op & UINT64_C(31)) << 25;
    1200             :       // op: rs1
    1201           0 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    1202           0 :       Value |= (op & UINT64_C(31)) << 14;
    1203             :       // op: simm10
    1204           0 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    1205           0 :       Value |= op & UINT64_C(1023);
    1206             :       break;
    1207             :     }
    1208             :     case SP::ADDCCri:
    1209             :     case SP::ADDCri:
    1210             :     case SP::ADDEri:
    1211             :     case SP::ADDXri:
    1212             :     case SP::ADDri:
    1213             :     case SP::ANDCCri:
    1214             :     case SP::ANDNCCri:
    1215             :     case SP::ANDNri:
    1216             :     case SP::ANDXri:
    1217             :     case SP::ANDri:
    1218             :     case SP::JMPLri:
    1219             :     case SP::LDCri:
    1220             :     case SP::LDDCri:
    1221             :     case SP::LDDFri:
    1222             :     case SP::LDDri:
    1223             :     case SP::LDFri:
    1224             :     case SP::LDQFri:
    1225             :     case SP::LDSBri:
    1226             :     case SP::LDSHri:
    1227             :     case SP::LDSTUBri:
    1228             :     case SP::LDSWri:
    1229             :     case SP::LDUBri:
    1230             :     case SP::LDUHri:
    1231             :     case SP::LDXri:
    1232             :     case SP::LDri:
    1233             :     case SP::LEAX_ADDri:
    1234             :     case SP::LEA_ADDri:
    1235             :     case SP::MULSCCri:
    1236             :     case SP::MULXri:
    1237             :     case SP::ORCCri:
    1238             :     case SP::ORNCCri:
    1239             :     case SP::ORNri:
    1240             :     case SP::ORXri:
    1241             :     case SP::ORri:
    1242             :     case SP::RESTOREri:
    1243             :     case SP::SAVEri:
    1244             :     case SP::SDIVCCri:
    1245             :     case SP::SDIVXri:
    1246             :     case SP::SDIVri:
    1247             :     case SP::SLLri:
    1248             :     case SP::SMACri:
    1249             :     case SP::SMULCCri:
    1250             :     case SP::SMULri:
    1251             :     case SP::SRAri:
    1252             :     case SP::SRLri:
    1253             :     case SP::SUBCCri:
    1254             :     case SP::SUBCri:
    1255             :     case SP::SUBEri:
    1256             :     case SP::SUBXri:
    1257             :     case SP::SUBri:
    1258             :     case SP::SWAPri:
    1259             :     case SP::TADDCCTVri:
    1260             :     case SP::TADDCCri:
    1261             :     case SP::TSUBCCTVri:
    1262             :     case SP::TSUBCCri:
    1263             :     case SP::UDIVCCri:
    1264             :     case SP::UDIVXri:
    1265             :     case SP::UDIVri:
    1266             :     case SP::UMACri:
    1267             :     case SP::UMULCCri:
    1268             :     case SP::UMULri:
    1269             :     case SP::WRASRri:
    1270             :     case SP::WRPRri:
    1271             :     case SP::XNORCCri:
    1272             :     case SP::XNORri:
    1273             :     case SP::XORCCri:
    1274             :     case SP::XORXri:
    1275             :     case SP::XORri: {
    1276             :       // op: rd
    1277         260 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    1278         260 :       Value |= (op & UINT64_C(31)) << 25;
    1279             :       // op: rs1
    1280         260 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    1281         260 :       Value |= (op & UINT64_C(31)) << 14;
    1282             :       // op: simm13
    1283         260 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    1284         260 :       Value |= op & UINT64_C(8191);
    1285             :       break;
    1286             :     }
    1287             :     case SP::FABSD:
    1288             :     case SP::FABSQ:
    1289             :     case SP::FABSS:
    1290             :     case SP::FDTOI:
    1291             :     case SP::FDTOQ:
    1292             :     case SP::FDTOS:
    1293             :     case SP::FDTOX:
    1294             :     case SP::FEXPAND:
    1295             :     case SP::FITOD:
    1296             :     case SP::FITOQ:
    1297             :     case SP::FITOS:
    1298             :     case SP::FMOVD:
    1299             :     case SP::FMOVQ:
    1300             :     case SP::FMOVS:
    1301             :     case SP::FNEGD:
    1302             :     case SP::FNEGQ:
    1303             :     case SP::FNEGS:
    1304             :     case SP::FNOT2:
    1305             :     case SP::FNOT2S:
    1306             :     case SP::FPACK16:
    1307             :     case SP::FPACKFIX:
    1308             :     case SP::FQTOD:
    1309             :     case SP::FQTOI:
    1310             :     case SP::FQTOS:
    1311             :     case SP::FQTOX:
    1312             :     case SP::FSQRTD:
    1313             :     case SP::FSQRTQ:
    1314             :     case SP::FSQRTS:
    1315             :     case SP::FSRC2:
    1316             :     case SP::FSRC2S:
    1317             :     case SP::FSTOD:
    1318             :     case SP::FSTOI:
    1319             :     case SP::FSTOQ:
    1320             :     case SP::FSTOX:
    1321             :     case SP::FXTOD:
    1322             :     case SP::FXTOQ:
    1323             :     case SP::FXTOS:
    1324             :     case SP::LZCNT:
    1325             :     case SP::MOVDTOX:
    1326             :     case SP::MOVSTOSW:
    1327             :     case SP::MOVSTOUW:
    1328             :     case SP::MOVWTOS:
    1329             :     case SP::MOVXTOD:
    1330             :     case SP::POPCrr: {
    1331             :       // op: rd
    1332          31 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    1333          31 :       Value |= (op & UINT64_C(31)) << 25;
    1334             :       // op: rs2
    1335          31 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    1336          31 :       Value |= op & UINT64_C(31);
    1337             :       break;
    1338             :     }
    1339             :     case SP::STArr:
    1340             :     case SP::STBArr:
    1341             :     case SP::STDArr:
    1342             :     case SP::STDFArr:
    1343             :     case SP::STFArr:
    1344             :     case SP::STHArr:
    1345             :     case SP::STQFArr: {
    1346             :       // op: rd
    1347          19 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    1348          19 :       Value |= (op & UINT64_C(31)) << 25;
    1349             :       // op: rs1
    1350          19 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    1351          19 :       Value |= (op & UINT64_C(31)) << 14;
    1352             :       // op: asi
    1353          19 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    1354          19 :       Value |= (op & UINT64_C(255)) << 5;
    1355             :       // op: rs2
    1356          19 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    1357          19 :       Value |= op & UINT64_C(31);
    1358             :       break;
    1359             :     }
    1360             :     case SP::STBrr:
    1361             :     case SP::STCrr:
    1362             :     case SP::STDCrr:
    1363             :     case SP::STDFrr:
    1364             :     case SP::STDrr:
    1365             :     case SP::STFrr:
    1366             :     case SP::STHrr:
    1367             :     case SP::STQFrr:
    1368             :     case SP::STXrr:
    1369             :     case SP::STrr: {
    1370             :       // op: rd
    1371          55 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    1372          55 :       Value |= (op & UINT64_C(31)) << 25;
    1373             :       // op: rs1
    1374          55 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    1375          55 :       Value |= (op & UINT64_C(31)) << 14;
    1376             :       // op: rs2
    1377          55 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    1378          55 :       Value |= op & UINT64_C(31);
    1379             :       break;
    1380             :     }
    1381             :     case SP::STBri:
    1382             :     case SP::STCri:
    1383             :     case SP::STDCri:
    1384             :     case SP::STDFri:
    1385             :     case SP::STDri:
    1386             :     case SP::STFri:
    1387             :     case SP::STHri:
    1388             :     case SP::STQFri:
    1389             :     case SP::STXri:
    1390             :     case SP::STri: {
    1391             :       // op: rd
    1392          17 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    1393          17 :       Value |= (op & UINT64_C(31)) << 25;
    1394             :       // op: rs1
    1395          17 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    1396          17 :       Value |= (op & UINT64_C(31)) << 14;
    1397             :       // op: simm13
    1398          17 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    1399          17 :       Value |= op & UINT64_C(8191);
    1400             :       break;
    1401             :     }
    1402             :     case SP::TICCri:
    1403             :     case SP::TRAPri:
    1404             :     case SP::TXCCri: {
    1405             :       // op: rs1
    1406          97 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    1407          97 :       Value |= (op & UINT64_C(31)) << 14;
    1408             :       // op: cond
    1409          97 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    1410          97 :       Value |= (op & UINT64_C(15)) << 25;
    1411             :       // op: imm
    1412          97 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    1413          97 :       Value |= op & UINT64_C(255);
    1414             :       break;
    1415             :     }
    1416             :     case SP::TICCrr:
    1417             :     case SP::TRAPrr:
    1418             :     case SP::TXCCrr: {
    1419             :       // op: rs1
    1420         102 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    1421         102 :       Value |= (op & UINT64_C(31)) << 14;
    1422             :       // op: cond
    1423         102 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    1424         102 :       Value |= (op & UINT64_C(15)) << 25;
    1425             :       // op: rs2
    1426         102 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    1427         102 :       Value |= op & UINT64_C(31);
    1428             :       break;
    1429             :     }
    1430             :     case SP::BINDrr:
    1431             :     case SP::CALLrr:
    1432             :     case SP::CMPrr:
    1433             :     case SP::FCMPD:
    1434             :     case SP::FCMPQ:
    1435             :     case SP::FCMPS:
    1436             :     case SP::FLUSHrr:
    1437             :     case SP::LDCSRrr:
    1438             :     case SP::LDFSRrr:
    1439             :     case SP::LDXFSRrr:
    1440             :     case SP::RETTrr:
    1441             :     case SP::STCSRrr:
    1442             :     case SP::STDCQrr:
    1443             :     case SP::STDFQrr:
    1444             :     case SP::STFSRrr:
    1445             :     case SP::STXFSRrr:
    1446             :     case SP::WRPSRrr:
    1447             :     case SP::WRTBRrr:
    1448             :     case SP::WRWIMrr: {
    1449             :       // op: rs1
    1450          48 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    1451          48 :       Value |= (op & UINT64_C(31)) << 14;
    1452             :       // op: rs2
    1453          48 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    1454          48 :       Value |= op & UINT64_C(31);
    1455             :       break;
    1456             :     }
    1457             :     case SP::BINDri:
    1458             :     case SP::CALLri:
    1459             :     case SP::CMPri:
    1460             :     case SP::FLUSHri:
    1461             :     case SP::LDCSRri:
    1462             :     case SP::LDFSRri:
    1463             :     case SP::LDXFSRri:
    1464             :     case SP::RETTri:
    1465             :     case SP::STCSRri:
    1466             :     case SP::STDCQri:
    1467             :     case SP::STDFQri:
    1468             :     case SP::STFSRri:
    1469             :     case SP::STXFSRri:
    1470             :     case SP::WRPSRri:
    1471             :     case SP::WRTBRri:
    1472             :     case SP::WRWIMri: {
    1473             :       // op: rs1
    1474          51 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    1475          51 :       Value |= (op & UINT64_C(31)) << 14;
    1476             :       // op: simm13
    1477          51 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    1478          51 :       Value |= op & UINT64_C(8191);
    1479             :       break;
    1480             :     }
    1481             :     case SP::CMASK16:
    1482             :     case SP::CMASK32:
    1483             :     case SP::CMASK8: {
    1484             :       // op: rs2
    1485           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    1486           0 :       Value |= op & UINT64_C(31);
    1487             :       break;
    1488             :     }
    1489             :     case SP::MEMBARi:
    1490             :     case SP::RET:
    1491             :     case SP::RETL: {
    1492             :       // op: simm13
    1493          27 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    1494          27 :       Value |= op & UINT64_C(8191);
    1495             :       break;
    1496             :     }
    1497             :   default:
    1498             :     std::string msg;
    1499             :     raw_string_ostream Msg(msg);
    1500           0 :     Msg << "Not supported instr: " << MI;
    1501           0 :     report_fatal_error(Msg.str());
    1502             :   }
    1503        1853 :   return Value;
    1504             : }
    1505             : 
    1506             : #ifdef ENABLE_INSTR_PREDICATE_VERIFIER
    1507             : #undef ENABLE_INSTR_PREDICATE_VERIFIER
    1508             : #include <sstream>
    1509             : 
    1510             : // Flags for subtarget features that participate in instruction matching.
    1511             : enum SubtargetFeatureFlag : uint8_t {
    1512             :   Feature_UseSoftMulDiv = (1ULL << 4),
    1513             :   Feature_HasV9 = (1ULL << 0),
    1514             :   Feature_HasVIS = (1ULL << 1),
    1515             :   Feature_HasVIS2 = (1ULL << 2),
    1516             :   Feature_HasVIS3 = (1ULL << 3),
    1517             :   Feature_None = 0
    1518             : };
    1519             : 
    1520             : #ifndef NDEBUG
    1521             : static const char *SubtargetFeatureNames[] = {
    1522             :   "Feature_HasV9",
    1523             :   "Feature_HasVIS",
    1524             :   "Feature_HasVIS2",
    1525             :   "Feature_HasVIS3",
    1526             :   "Feature_UseSoftMulDiv",
    1527             :   nullptr
    1528             : };
    1529             : 
    1530             : #endif // NDEBUG
    1531             : uint64_t SparcMCCodeEmitter::
    1532             : computeAvailableFeatures(const FeatureBitset& FB) const {
    1533             :   uint64_t Features = 0;
    1534             :   if ((FB[Sparc::FeatureSoftMulDiv]))
    1535             :     Features |= Feature_UseSoftMulDiv;
    1536             :   if ((FB[Sparc::FeatureV9]))
    1537             :     Features |= Feature_HasV9;
    1538             :   if ((FB[Sparc::FeatureVIS]))
    1539             :     Features |= Feature_HasVIS;
    1540             :   if ((FB[Sparc::FeatureVIS2]))
    1541             :     Features |= Feature_HasVIS2;
    1542             :   if ((FB[Sparc::FeatureVIS3]))
    1543             :     Features |= Feature_HasVIS3;
    1544             :   return Features;
    1545             : }
    1546             : 
    1547             : void SparcMCCodeEmitter::verifyInstructionPredicates(
    1548             :     const MCInst &Inst, uint64_t AvailableFeatures) const {
    1549             : #ifndef NDEBUG
    1550             :   static uint64_t RequiredFeatures[] = {
    1551             :     0, // PHI = 0
    1552             :     0, // INLINEASM = 1
    1553             :     0, // CFI_INSTRUCTION = 2
    1554             :     0, // EH_LABEL = 3
    1555             :     0, // GC_LABEL = 4
    1556             :     0, // ANNOTATION_LABEL = 5
    1557             :     0, // KILL = 6
    1558             :     0, // EXTRACT_SUBREG = 7
    1559             :     0, // INSERT_SUBREG = 8
    1560             :     0, // IMPLICIT_DEF = 9
    1561             :     0, // SUBREG_TO_REG = 10
    1562             :     0, // COPY_TO_REGCLASS = 11
    1563             :     0, // DBG_VALUE = 12
    1564             :     0, // DBG_LABEL = 13
    1565             :     0, // REG_SEQUENCE = 14
    1566             :     0, // COPY = 15
    1567             :     0, // BUNDLE = 16
    1568             :     0, // LIFETIME_START = 17
    1569             :     0, // LIFETIME_END = 18
    1570             :     0, // STACKMAP = 19
    1571             :     0, // FENTRY_CALL = 20
    1572             :     0, // PATCHPOINT = 21
    1573             :     0, // LOAD_STACK_GUARD = 22
    1574             :     0, // STATEPOINT = 23
    1575             :     0, // LOCAL_ESCAPE = 24
    1576             :     0, // FAULTING_OP = 25
    1577             :     0, // PATCHABLE_OP = 26
    1578             :     0, // PATCHABLE_FUNCTION_ENTER = 27
    1579             :     0, // PATCHABLE_RET = 28
    1580             :     0, // PATCHABLE_FUNCTION_EXIT = 29
    1581             :     0, // PATCHABLE_TAIL_CALL = 30
    1582             :     0, // PATCHABLE_EVENT_CALL = 31
    1583             :     0, // PATCHABLE_TYPED_EVENT_CALL = 32
    1584             :     0, // ICALL_BRANCH_FUNNEL = 33
    1585             :     0, // G_ADD = 34
    1586             :     0, // G_SUB = 35
    1587             :     0, // G_MUL = 36
    1588             :     0, // G_SDIV = 37
    1589             :     0, // G_UDIV = 38
    1590             :     0, // G_SREM = 39
    1591             :     0, // G_UREM = 40
    1592             :     0, // G_AND = 41
    1593             :     0, // G_OR = 42
    1594             :     0, // G_XOR = 43
    1595             :     0, // G_IMPLICIT_DEF = 44
    1596             :     0, // G_PHI = 45
    1597             :     0, // G_FRAME_INDEX = 46
    1598             :     0, // G_GLOBAL_VALUE = 47
    1599             :     0, // G_EXTRACT = 48
    1600             :     0, // G_UNMERGE_VALUES = 49
    1601             :     0, // G_INSERT = 50
    1602             :     0, // G_MERGE_VALUES = 51
    1603             :     0, // G_PTRTOINT = 52
    1604             :     0, // G_INTTOPTR = 53
    1605             :     0, // G_BITCAST = 54
    1606             :     0, // G_LOAD = 55
    1607             :     0, // G_SEXTLOAD = 56
    1608             :     0, // G_ZEXTLOAD = 57
    1609             :     0, // G_STORE = 58
    1610             :     0, // G_ATOMIC_CMPXCHG_WITH_SUCCESS = 59
    1611             :     0, // G_ATOMIC_CMPXCHG = 60
    1612             :     0, // G_ATOMICRMW_XCHG = 61
    1613             :     0, // G_ATOMICRMW_ADD = 62
    1614             :     0, // G_ATOMICRMW_SUB = 63
    1615             :     0, // G_ATOMICRMW_AND = 64
    1616             :     0, // G_ATOMICRMW_NAND = 65
    1617             :     0, // G_ATOMICRMW_OR = 66
    1618             :     0, // G_ATOMICRMW_XOR = 67
    1619             :     0, // G_ATOMICRMW_MAX = 68
    1620             :     0, // G_ATOMICRMW_MIN = 69
    1621             :     0, // G_ATOMICRMW_UMAX = 70
    1622             :     0, // G_ATOMICRMW_UMIN = 71
    1623             :     0, // G_BRCOND = 72
    1624             :     0, // G_BRINDIRECT = 73
    1625             :     0, // G_INTRINSIC = 74
    1626             :     0, // G_INTRINSIC_W_SIDE_EFFECTS = 75
    1627             :     0, // G_ANYEXT = 76
    1628             :     0, // G_TRUNC = 77
    1629             :     0, // G_CONSTANT = 78
    1630             :     0, // G_FCONSTANT = 79
    1631             :     0, // G_VASTART = 80
    1632             :     0, // G_VAARG = 81
    1633             :     0, // G_SEXT = 82
    1634             :     0, // G_ZEXT = 83
    1635             :     0, // G_SHL = 84
    1636             :     0, // G_LSHR = 85
    1637             :     0, // G_ASHR = 86
    1638             :     0, // G_ICMP = 87
    1639             :     0, // G_FCMP = 88
    1640             :     0, // G_SELECT = 89
    1641             :     0, // G_UADDE = 90
    1642             :     0, // G_USUBE = 91
    1643             :     0, // G_SADDO = 92
    1644             :     0, // G_SSUBO = 93
    1645             :     0, // G_UMULO = 94
    1646             :     0, // G_SMULO = 95
    1647             :     0, // G_UMULH = 96
    1648             :     0, // G_SMULH = 97
    1649             :     0, // G_FADD = 98
    1650             :     0, // G_FSUB = 99
    1651             :     0, // G_FMUL = 100
    1652             :     0, // G_FMA = 101
    1653             :     0, // G_FDIV = 102
    1654             :     0, // G_FREM = 103
    1655             :     0, // G_FPOW = 104
    1656             :     0, // G_FEXP = 105
    1657             :     0, // G_FEXP2 = 106
    1658             :     0, // G_FLOG = 107
    1659             :     0, // G_FLOG2 = 108
    1660             :     0, // G_FNEG = 109
    1661             :     0, // G_FPEXT = 110
    1662             :     0, // G_FPTRUNC = 111
    1663             :     0, // G_FPTOSI = 112
    1664             :     0, // G_FPTOUI = 113
    1665             :     0, // G_SITOFP = 114
    1666             :     0, // G_UITOFP = 115
    1667             :     0, // G_FABS = 116
    1668             :     0, // G_GEP = 117
    1669             :     0, // G_PTR_MASK = 118
    1670             :     0, // G_BR = 119
    1671             :     0, // G_INSERT_VECTOR_ELT = 120
    1672             :     0, // G_EXTRACT_VECTOR_ELT = 121
    1673             :     0, // G_SHUFFLE_VECTOR = 122
    1674             :     0, // G_BSWAP = 123
    1675             :     0, // G_ADDRSPACE_CAST = 124
    1676             :     0, // ADJCALLSTACKDOWN = 125
    1677             :     0, // ADJCALLSTACKUP = 126
    1678             :     0, // EH_SJLJ_LONGJMP32ri = 127
    1679             :     0, // EH_SJLJ_LONGJMP32rr = 128
    1680             :     0, // EH_SJLJ_SETJMP32ri = 129
    1681             :     0, // EH_SJLJ_SETJMP32rr = 130
    1682             :     0, // GETPCX = 131
    1683             :     0, // SELECT_CC_DFP_FCC = 132
    1684             :     0, // SELECT_CC_DFP_ICC = 133
    1685             :     0, // SELECT_CC_FP_FCC = 134
    1686             :     0, // SELECT_CC_FP_ICC = 135
    1687             :     0, // SELECT_CC_Int_FCC = 136
    1688             :     0, // SELECT_CC_Int_ICC = 137
    1689             :     0, // SELECT_CC_QFP_FCC = 138
    1690             :     0, // SELECT_CC_QFP_ICC = 139
    1691             :     0, // SET = 140
    1692             :     0, // ADDCCri = 141
    1693             :     0, // ADDCCrr = 142
    1694             :     0, // ADDCri = 143
    1695             :     0, // ADDCrr = 144
    1696             :     0, // ADDEri = 145
    1697             :     0, // ADDErr = 146
    1698             :     Feature_HasVIS3 | 0, // ADDXC = 147
    1699             :     Feature_HasVIS3 | 0, // ADDXCCC = 148
    1700             :     0, // ADDXri = 149
    1701             :     0, // ADDXrr = 150
    1702             :     0, // ADDri = 151
    1703             :     0, // ADDrr = 152
    1704             :     Feature_HasVIS | 0, // ALIGNADDR = 153
    1705             :     Feature_HasVIS | 0, // ALIGNADDRL = 154
    1706             :     0, // ANDCCri = 155
    1707             :     0, // ANDCCrr = 156
    1708             :     0, // ANDNCCri = 157
    1709             :     0, // ANDNCCrr = 158
    1710             :     0, // ANDNri = 159
    1711             :     0, // ANDNrr = 160
    1712             :     0, // ANDXNrr = 161
    1713             :     0, // ANDXri = 162
    1714             :     0, // ANDXrr = 163
    1715             :     0, // ANDri = 164
    1716             :     0, // ANDrr = 165
    1717             :     Feature_HasVIS | 0, // ARRAY16 = 166
    1718             :     Feature_HasVIS | 0, // ARRAY32 = 167
    1719             :     Feature_HasVIS | 0, // ARRAY8 = 168
    1720             :     0, // BA = 169
    1721             :     0, // BCOND = 170
    1722             :     0, // BCONDA = 171
    1723             :     0, // BINDri = 172
    1724             :     0, // BINDrr = 173
    1725             :     Feature_HasVIS2 | 0, // BMASK = 174
    1726             :     Feature_HasV9 | 0, // BPFCC = 175
    1727             :     Feature_HasV9 | 0, // BPFCCA = 176
    1728             :     Feature_HasV9 | 0, // BPFCCANT = 177
    1729             :     Feature_HasV9 | 0, // BPFCCNT = 178
    1730             :     0, // BPGEZapn = 179
    1731             :     0, // BPGEZapt = 180
    1732             :     0, // BPGEZnapn = 181
    1733             :     0, // BPGEZnapt = 182
    1734             :     0, // BPGZapn = 183
    1735             :     0, // BPGZapt = 184
    1736             :     0, // BPGZnapn = 185
    1737             :     0, // BPGZnapt = 186
    1738             :     Feature_HasV9 | 0, // BPICC = 187
    1739             :     Feature_HasV9 | 0, // BPICCA = 188
    1740             :     Feature_HasV9 | 0, // BPICCANT = 189
    1741             :     Feature_HasV9 | 0, // BPICCNT = 190
    1742             :     0, // BPLEZapn = 191
    1743             :     0, // BPLEZapt = 192
    1744             :     0, // BPLEZnapn = 193
    1745             :     0, // BPLEZnapt = 194
    1746             :     0, // BPLZapn = 195
    1747             :     0, // BPLZapt = 196
    1748             :     0, // BPLZnapn = 197
    1749             :     0, // BPLZnapt = 198
    1750             :     0, // BPNZapn = 199
    1751             :     0, // BPNZapt = 200
    1752             :     0, // BPNZnapn = 201
    1753             :     0, // BPNZnapt = 202
    1754             :     0, // BPXCC = 203
    1755             :     0, // BPXCCA = 204
    1756             :     0, // BPXCCANT = 205
    1757             :     0, // BPXCCNT = 206
    1758             :     0, // BPZapn = 207
    1759             :     0, // BPZapt = 208
    1760             :     0, // BPZnapn = 209
    1761             :     0, // BPZnapt = 210
    1762             :     Feature_HasVIS2 | 0, // BSHUFFLE = 211
    1763             :     0, // CALL = 212
    1764             :     0, // CALLri = 213
    1765             :     0, // CALLrr = 214
    1766             :     0, // CASAasi10 = 215
    1767             :     0, // CASArr = 216
    1768             :     0, // CASXrr = 217
    1769             :     Feature_HasV9 | 0, // CASrr = 218
    1770             :     0, // CBCOND = 219
    1771             :     0, // CBCONDA = 220
    1772             :     Feature_HasVIS3 | 0, // CMASK16 = 221
    1773             :     Feature_HasVIS3 | 0, // CMASK32 = 222
    1774             :     Feature_HasVIS3 | 0, // CMASK8 = 223
    1775             :     0, // CMPri = 224
    1776             :     0, // CMPrr = 225
    1777             :     Feature_HasVIS | 0, // EDGE16 = 226
    1778             :     Feature_HasVIS | 0, // EDGE16L = 227
    1779             :     Feature_HasVIS2 | 0, // EDGE16LN = 228
    1780             :     Feature_HasVIS2 | 0, // EDGE16N = 229
    1781             :     Feature_HasVIS | 0, // EDGE32 = 230
    1782             :     Feature_HasVIS | 0, // EDGE32L = 231
    1783             :     Feature_HasVIS2 | 0, // EDGE32LN = 232
    1784             :     Feature_HasVIS2 | 0, // EDGE32N = 233
    1785             :     Feature_HasVIS | 0, // EDGE8 = 234
    1786             :     Feature_HasVIS | 0, // EDGE8L = 235
    1787             :     Feature_HasVIS2 | 0, // EDGE8LN = 236
    1788             :     Feature_HasVIS2 | 0, // EDGE8N = 237
    1789             :     Feature_HasV9 | 0, // FABSD = 238
    1790             :     Feature_HasV9 | 0, // FABSQ = 239
    1791             :     0, // FABSS = 240
    1792             :     0, // FADDD = 241
    1793             :     0, // FADDQ = 242
    1794             :     0, // FADDS = 243
    1795             :     Feature_HasVIS | 0, // FALIGNADATA = 244
    1796             :     Feature_HasVIS | 0, // FAND = 245
    1797             :     Feature_HasVIS | 0, // FANDNOT1 = 246
    1798             :     Feature_HasVIS | 0, // FANDNOT1S = 247
    1799             :     Feature_HasVIS | 0, // FANDNOT2 = 248
    1800             :     Feature_HasVIS | 0, // FANDNOT2S = 249
    1801             :     Feature_HasVIS | 0, // FANDS = 250
    1802             :     0, // FBCOND = 251
    1803             :     0, // FBCONDA = 252
    1804             :     Feature_HasVIS3 | 0, // FCHKSM16 = 253
    1805             :     0, // FCMPD = 254
    1806             :     Feature_HasVIS | 0, // FCMPEQ16 = 255
    1807             :     Feature_HasVIS | 0, // FCMPEQ32 = 256
    1808             :     Feature_HasVIS | 0, // FCMPGT16 = 257
    1809             :     Feature_HasVIS | 0, // FCMPGT32 = 258
    1810             :     Feature_HasVIS | 0, // FCMPLE16 = 259
    1811             :     Feature_HasVIS | 0, // FCMPLE32 = 260
    1812             :     Feature_HasVIS | 0, // FCMPNE16 = 261
    1813             :     Feature_HasVIS | 0, // FCMPNE32 = 262
    1814             :     0, // FCMPQ = 263
    1815             :     0, // FCMPS = 264
    1816             :     0, // FDIVD = 265
    1817             :     0, // FDIVQ = 266
    1818             :     0, // FDIVS = 267
    1819             :     0, // FDMULQ = 268
    1820             :     0, // FDTOI = 269
    1821             :     0, // FDTOQ = 270
    1822             :     0, // FDTOS = 271
    1823             :     0, // FDTOX = 272
    1824             :     Feature_HasVIS | 0, // FEXPAND = 273
    1825             :     Feature_HasVIS3 | 0, // FHADDD = 274
    1826             :     Feature_HasVIS3 | 0, // FHADDS = 275
    1827             :     Feature_HasVIS3 | 0, // FHSUBD = 276
    1828             :     Feature_HasVIS3 | 0, // FHSUBS = 277
    1829             :     0, // FITOD = 278
    1830             :     0, // FITOQ = 279
    1831             :     0, // FITOS = 280
    1832             :     Feature_HasVIS3 | 0, // FLCMPD = 281
    1833             :     Feature_HasVIS3 | 0, // FLCMPS = 282
    1834             :     0, // FLUSH = 283
    1835             :     Feature_HasV9 | 0, // FLUSHW = 284
    1836             :     0, // FLUSHri = 285
    1837             :     0, // FLUSHrr = 286
    1838             :     Feature_HasVIS3 | 0, // FMEAN16 = 287
    1839             :     Feature_HasV9 | 0, // FMOVD = 288
    1840             :     Feature_HasV9 | 0, // FMOVD_FCC = 289
    1841             :     Feature_HasV9 | 0, // FMOVD_ICC = 290
    1842             :     0, // FMOVD_XCC = 291
    1843             :     Feature_HasV9 | 0, // FMOVQ = 292
    1844             :     Feature_HasV9 | 0, // FMOVQ_FCC = 293
    1845             :     Feature_HasV9 | 0, // FMOVQ_ICC = 294
    1846             :     0, // FMOVQ_XCC = 295
    1847             :     Feature_HasV9 | 0, // FMOVRGEZD = 296
    1848             :     Feature_HasV9 | 0, // FMOVRGEZQ = 297
    1849             :     Feature_HasV9 | 0, // FMOVRGEZS = 298
    1850             :     Feature_HasV9 | 0, // FMOVRGZD = 299
    1851             :     Feature_HasV9 | 0, // FMOVRGZQ = 300
    1852             :     Feature_HasV9 | 0, // FMOVRGZS = 301
    1853             :     Feature_HasV9 | 0, // FMOVRLEZD = 302
    1854             :     Feature_HasV9 | 0, // FMOVRLEZQ = 303
    1855             :     Feature_HasV9 | 0, // FMOVRLEZS = 304
    1856             :     Feature_HasV9 | 0, // FMOVRLZD = 305
    1857             :     Feature_HasV9 | 0, // FMOVRLZQ = 306
    1858             :     Feature_HasV9 | 0, // FMOVRLZS = 307
    1859             :     Feature_HasV9 | 0, // FMOVRNZD = 308
    1860             :     Feature_HasV9 | 0, // FMOVRNZQ = 309
    1861             :     Feature_HasV9 | 0, // FMOVRNZS = 310
    1862             :     Feature_HasV9 | 0, // FMOVRZD = 311
    1863             :     Feature_HasV9 | 0, // FMOVRZQ = 312
    1864             :     Feature_HasV9 | 0, // FMOVRZS = 313
    1865             :     0, // FMOVS = 314
    1866             :     Feature_HasV9 | 0, // FMOVS_FCC = 315
    1867             :     Feature_HasV9 | 0, // FMOVS_ICC = 316
    1868             :     0, // FMOVS_XCC = 317
    1869             :     Feature_HasVIS | 0, // FMUL8SUX16 = 318
    1870             :     Feature_HasVIS | 0, // FMUL8ULX16 = 319
    1871             :     Feature_HasVIS | 0, // FMUL8X16 = 320
    1872             :     Feature_HasVIS | 0, // FMUL8X16AL = 321
    1873             :     Feature_HasVIS | 0, // FMUL8X16AU = 322
    1874             :     0, // FMULD = 323
    1875             :     Feature_HasVIS | 0, // FMULD8SUX16 = 324
    1876             :     Feature_HasVIS | 0, // FMULD8ULX16 = 325
    1877             :     0, // FMULQ = 326
    1878             :     0, // FMULS = 327
    1879             :     Feature_HasVIS3 | 0, // FNADDD = 328
    1880             :     Feature_HasVIS3 | 0, // FNADDS = 329
    1881             :     Feature_HasVIS | 0, // FNAND = 330
    1882             :     Feature_HasVIS | 0, // FNANDS = 331
    1883             :     Feature_HasV9 | 0, // FNEGD = 332
    1884             :     Feature_HasV9 | 0, // FNEGQ = 333
    1885             :     0, // FNEGS = 334
    1886             :     Feature_HasVIS3 | 0, // FNHADDD = 335
    1887             :     Feature_HasVIS3 | 0, // FNHADDS = 336
    1888             :     Feature_HasVIS3 | 0, // FNMULD = 337
    1889             :     Feature_HasVIS3 | 0, // FNMULS = 338
    1890             :     Feature_HasVIS | 0, // FNOR = 339
    1891             :     Feature_HasVIS | 0, // FNORS = 340
    1892             :     Feature_HasVIS | 0, // FNOT1 = 341
    1893             :     Feature_HasVIS | 0, // FNOT1S = 342
    1894             :     Feature_HasVIS | 0, // FNOT2 = 343
    1895             :     Feature_HasVIS | 0, // FNOT2S = 344
    1896             :     Feature_HasVIS3 | 0, // FNSMULD = 345
    1897             :     Feature_HasVIS | 0, // FONE = 346
    1898             :     Feature_HasVIS | 0, // FONES = 347
    1899             :     Feature_HasVIS | 0, // FOR = 348
    1900             :     Feature_HasVIS | 0, // FORNOT1 = 349
    1901             :     Feature_HasVIS | 0, // FORNOT1S = 350
    1902             :     Feature_HasVIS | 0, // FORNOT2 = 351
    1903             :     Feature_HasVIS | 0, // FORNOT2S = 352
    1904             :     Feature_HasVIS | 0, // FORS = 353
    1905             :     Feature_HasVIS | 0, // FPACK16 = 354
    1906             :     Feature_HasVIS | 0, // FPACK32 = 355
    1907             :     Feature_HasVIS | 0, // FPACKFIX = 356
    1908             :     Feature_HasVIS | 0, // FPADD16 = 357
    1909             :     Feature_HasVIS | 0, // FPADD16S = 358
    1910             :     Feature_HasVIS | 0, // FPADD32 = 359
    1911             :     Feature_HasVIS | 0, // FPADD32S = 360
    1912             :     Feature_HasVIS3 | 0, // FPADD64 = 361
    1913             :     Feature_HasVIS | 0, // FPMERGE = 362
    1914             :     Feature_HasVIS | 0, // FPSUB16 = 363
    1915             :     Feature_HasVIS | 0, // FPSUB16S = 364
    1916             :     Feature_HasVIS | 0, // FPSUB32 = 365
    1917             :     Feature_HasVIS | 0, // FPSUB32S = 366
    1918             :     0, // FQTOD = 367
    1919             :     0, // FQTOI = 368
    1920             :     0, // FQTOS = 369
    1921             :     0, // FQTOX = 370
    1922             :     Feature_HasVIS3 | 0, // FSLAS16 = 371
    1923             :     Feature_HasVIS3 | 0, // FSLAS32 = 372
    1924             :     Feature_HasVIS3 | 0, // FSLL16 = 373
    1925             :     Feature_HasVIS3 | 0, // FSLL32 = 374
    1926             :     0, // FSMULD = 375
    1927             :     0, // FSQRTD = 376
    1928             :     0, // FSQRTQ = 377
    1929             :     0, // FSQRTS = 378
    1930             :     Feature_HasVIS3 | 0, // FSRA16 = 379
    1931             :     Feature_HasVIS3 | 0, // FSRA32 = 380
    1932             :     Feature_HasVIS | 0, // FSRC1 = 381
    1933             :     Feature_HasVIS | 0, // FSRC1S = 382
    1934             :     Feature_HasVIS | 0, // FSRC2 = 383
    1935             :     Feature_HasVIS | 0, // FSRC2S = 384
    1936             :     Feature_HasVIS3 | 0, // FSRL16 = 385
    1937             :     Feature_HasVIS3 | 0, // FSRL32 = 386
    1938             :     0, // FSTOD = 387
    1939             :     0, // FSTOI = 388
    1940             :     0, // FSTOQ = 389
    1941             :     0, // FSTOX = 390
    1942             :     0, // FSUBD = 391
    1943             :     0, // FSUBQ = 392
    1944             :     0, // FSUBS = 393
    1945             :     Feature_HasVIS | 0, // FXNOR = 394
    1946             :     Feature_HasVIS | 0, // FXNORS = 395
    1947             :     Feature_HasVIS | 0, // FXOR = 396
    1948             :     Feature_HasVIS | 0, // FXORS = 397
    1949             :     0, // FXTOD = 398
    1950             :     0, // FXTOQ = 399
    1951             :     0, // FXTOS = 400
    1952             :     Feature_HasVIS | 0, // FZERO = 401
    1953             :     Feature_HasVIS | 0, // FZEROS = 402
    1954             :     0, // JMPLri = 403
    1955             :     0, // JMPLrr = 404
    1956             :     0, // LDArr = 405
    1957             :     0, // LDCSRri = 406
    1958             :     0, // LDCSRrr = 407
    1959             :     0, // LDCri = 408
    1960             :     0, // LDCrr = 409
    1961             :     0, // LDDArr = 410
    1962             :     0, // LDDCri = 411
    1963             :     0, // LDDCrr = 412
    1964             :     Feature_HasV9 | 0, // LDDFArr = 413
    1965             :     0, // LDDFri = 414
    1966             :     0, // LDDFrr = 415
    1967             :     0, // LDDri = 416
    1968             :     0, // LDDrr = 417
    1969             :     Feature_HasV9 | 0, // LDFArr = 418
    1970             :     0, // LDFSRri = 419
    1971             :     0, // LDFSRrr = 420
    1972             :     0, // LDFri = 421
    1973             :     0, // LDFrr = 422
    1974             :     Feature_HasV9 | 0, // LDQFArr = 423
    1975             :     Feature_HasV9 | 0, // LDQFri = 424
    1976             :     Feature_HasV9 | 0, // LDQFrr = 425
    1977             :     0, // LDSBArr = 426
    1978             :     0, // LDSBri = 427
    1979             :     0, // LDSBrr = 428
    1980             :     0, // LDSHArr = 429
    1981             :     0, // LDSHri = 430
    1982             :     0, // LDSHrr = 431
    1983             :     0, // LDSTUBArr = 432
    1984             :     0, // LDSTUBri = 433
    1985             :     0, // LDSTUBrr = 434
    1986             :     0, // LDSWri = 435
    1987             :     0, // LDSWrr = 436
    1988             :     0, // LDUBArr = 437
    1989             :     0, // LDUBri = 438
    1990             :     0, // LDUBrr = 439
    1991             :     0, // LDUHArr = 440
    1992             :     0, // LDUHri = 441
    1993             :     0, // LDUHrr = 442
    1994             :     Feature_HasV9 | 0, // LDXFSRri = 443
    1995             :     Feature_HasV9 | 0, // LDXFSRrr = 444
    1996             :     0, // LDXri = 445
    1997             :     0, // LDXrr = 446
    1998             :     0, // LDri = 447
    1999             :     0, // LDrr = 448
    2000             :     0, // LEAX_ADDri = 449
    2001             :     0, // LEA_ADDri = 450
    2002             :     Feature_HasVIS3 | 0, // LZCNT = 451
    2003             :     Feature_HasV9 | 0, // MEMBARi = 452
    2004             :     Feature_HasVIS3 | 0, // MOVDTOX = 453
    2005             :     Feature_HasV9 | 0, // MOVFCCri = 454
    2006             :     Feature_HasV9 | 0, // MOVFCCrr = 455
    2007             :     Feature_HasV9 | 0, // MOVICCri = 456
    2008             :     Feature_HasV9 | 0, // MOVICCrr = 457
    2009             :     0, // MOVRGEZri = 458
    2010             :     0, // MOVRGEZrr = 459
    2011             :     0, // MOVRGZri = 460
    2012             :     0, // MOVRGZrr = 461
    2013             :     0, // MOVRLEZri = 462
    2014             :     0, // MOVRLEZrr = 463
    2015             :     0, // MOVRLZri = 464
    2016             :     0, // MOVRLZrr = 465
    2017             :     0, // MOVRNZri = 466
    2018             :     0, // MOVRNZrr = 467
    2019             :     0, // MOVRRZri = 468
    2020             :     0, // MOVRRZrr = 469
    2021             :     Feature_HasVIS3 | 0, // MOVSTOSW = 470
    2022             :     Feature_HasVIS3 | 0, // MOVSTOUW = 471
    2023             :     Feature_HasVIS3 | 0, // MOVWTOS = 472
    2024             :     0, // MOVXCCri = 473
    2025             :     0, // MOVXCCrr = 474
    2026             :     Feature_HasVIS3 | 0, // MOVXTOD = 475
    2027             :     0, // MULSCCri = 476
    2028             :     0, // MULSCCrr = 477
    2029             :     0, // MULXri = 478
    2030             :     0, // MULXrr = 479
    2031             :     0, // NOP = 480
    2032             :     0, // ORCCri = 481
    2033             :     0, // ORCCrr = 482
    2034             :     0, // ORNCCri = 483
    2035             :     0, // ORNCCrr = 484
    2036             :     0, // ORNri = 485
    2037             :     0, // ORNrr = 486
    2038             :     0, // ORXNrr = 487
    2039             :     0, // ORXri = 488
    2040             :     0, // ORXrr = 489
    2041             :     0, // ORri = 490
    2042             :     0, // ORrr = 491
    2043             :     Feature_HasVIS | 0, // PDIST = 492
    2044             :     Feature_HasVIS3 | 0, // PDISTN = 493
    2045             :     Feature_HasV9 | 0, // POPCrr = 494
    2046             :     0, // RDASR = 495
    2047             :     Feature_HasV9 | 0, // RDPR = 496
    2048             :     0, // RDPSR = 497
    2049             :     0, // RDTBR = 498
    2050             :     0, // RDWIM = 499
    2051             :     0, // RESTOREri = 500
    2052             :     0, // RESTORErr = 501
    2053             :     0, // RET = 502
    2054             :     0, // RETL = 503
    2055             :     0, // RETTri = 504
    2056             :     0, // RETTrr = 505
    2057             :     0, // SAVEri = 506
    2058             :     0, // SAVErr = 507
    2059             :     0, // SDIVCCri = 508
    2060             :     0, // SDIVCCrr = 509
    2061             :     0, // SDIVXri = 510
    2062             :     0, // SDIVXrr = 511
    2063             :     0, // SDIVri = 512
    2064             :     0, // SDIVrr = 513
    2065             :     0, // SETHIXi = 514
    2066             :     0, // SETHIi = 515
    2067             :     Feature_HasVIS | 0, // SHUTDOWN = 516
    2068             :     Feature_HasVIS2 | 0, // SIAM = 517
    2069             :     0, // SLLXri = 518
    2070             :     0, // SLLXrr = 519
    2071             :     0, // SLLri = 520
    2072             :     0, // SLLrr = 521
    2073             :     0, // SMACri = 522
    2074             :     0, // SMACrr = 523
    2075             :     0, // SMULCCri = 524
    2076             :     0, // SMULCCrr = 525
    2077             :     0, // SMULri = 526
    2078             :     0, // SMULrr = 527
    2079             :     0, // SRAXri = 528
    2080             :     0, // SRAXrr = 529
    2081             :     0, // SRAri = 530
    2082             :     0, // SRArr = 531
    2083             :     0, // SRLXri = 532
    2084             :     0, // SRLXrr = 533
    2085             :     0, // SRLri = 534
    2086             :     0, // SRLrr = 535
    2087             :     0, // STArr = 536
    2088             :     0, // STBAR = 537
    2089             :     0, // STBArr = 538
    2090             :     0, // STBri = 539
    2091             :     0, // STBrr = 540
    2092             :     0, // STCSRri = 541
    2093             :     0, // STCSRrr = 542
    2094             :     0, // STCri = 543
    2095             :     0, // STCrr = 544
    2096             :     0, // STDArr = 545
    2097             :     0, // STDCQri = 546
    2098             :     0, // STDCQrr = 547
    2099             :     0, // STDCri = 548
    2100             :     0, // STDCrr = 549
    2101             :     Feature_HasV9 | 0, // STDFArr = 550
    2102             :     0, // STDFQri = 551
    2103             :     0, // STDFQrr = 552
    2104             :     0, // STDFri = 553
    2105             :     0, // STDFrr = 554
    2106             :     0, // STDri = 555
    2107             :     0, // STDrr = 556
    2108             :     Feature_HasV9 | 0, // STFArr = 557
    2109             :     0, // STFSRri = 558
    2110             :     0, // STFSRrr = 559
    2111             :     0, // STFri = 560
    2112             :     0, // STFrr = 561
    2113             :     0, // STHArr = 562
    2114             :     0, // STHri = 563
    2115             :     0, // STHrr = 564
    2116             :     Feature_HasV9 | 0, // STQFArr = 565
    2117             :     Feature_HasV9 | 0, // STQFri = 566
    2118             :     Feature_HasV9 | 0, // STQFrr = 567
    2119             :     Feature_HasV9 | 0, // STXFSRri = 568
    2120             :     Feature_HasV9 | 0, // STXFSRrr = 569
    2121             :     0, // STXri = 570
    2122             :     0, // STXrr = 571
    2123             :     0, // STri = 572
    2124             :     0, // STrr = 573
    2125             :     0, // SUBCCri = 574
    2126             :     0, // SUBCCrr = 575
    2127             :     0, // SUBCri = 576
    2128             :     0, // SUBCrr = 577
    2129             :     0, // SUBEri = 578
    2130             :     0, // SUBErr = 579
    2131             :     0, // SUBXri = 580
    2132             :     0, // SUBXrr = 581
    2133             :     0, // SUBri = 582
    2134             :     0, // SUBrr = 583
    2135             :     0, // SWAPArr = 584
    2136             :     0, // SWAPri = 585
    2137             :     0, // SWAPrr = 586
    2138             :     0, // TA3 = 587
    2139             :     0, // TA5 = 588
    2140             :     0, // TADDCCTVri = 589
    2141             :     0, // TADDCCTVrr = 590
    2142             :     0, // TADDCCri = 591
    2143             :     0, // TADDCCrr = 592
    2144             :     Feature_HasV9 | 0, // TICCri = 593
    2145             :     Feature_HasV9 | 0, // TICCrr = 594
    2146             :     0, // TLS_ADDXrr = 595
    2147             :     0, // TLS_ADDrr = 596
    2148             :     0, // TLS_CALL = 597
    2149             :     0, // TLS_LDXrr = 598
    2150             :     0, // TLS_LDrr = 599
    2151             :     0, // TRAPri = 600
    2152             :     0, // TRAPrr = 601
    2153             :     0, // TSUBCCTVri = 602
    2154             :     0, // TSUBCCTVrr = 603
    2155             :     0, // TSUBCCri = 604
    2156             :     0, // TSUBCCrr = 605
    2157             :     0, // TXCCri = 606
    2158             :     0, // TXCCrr = 607
    2159             :     0, // UDIVCCri = 608
    2160             :     0, // UDIVCCrr = 609
    2161             :     0, // UDIVXri = 610
    2162             :     0, // UDIVXrr = 611
    2163             :     0, // UDIVri = 612
    2164             :     0, // UDIVrr = 613
    2165             :     0, // UMACri = 614
    2166             :     0, // UMACrr = 615
    2167             :     0, // UMULCCri = 616
    2168             :     0, // UMULCCrr = 617
    2169             :     Feature_HasVIS3 | 0, // UMULXHI = 618
    2170             :     0, // UMULri = 619
    2171             :     0, // UMULrr = 620
    2172             :     0, // UNIMP = 621
    2173             :     0, // V9FCMPD = 622
    2174             :     0, // V9FCMPED = 623
    2175             :     0, // V9FCMPEQ = 624
    2176             :     0, // V9FCMPES = 625
    2177             :     0, // V9FCMPQ = 626
    2178             :     0, // V9FCMPS = 627
    2179             :     Feature_HasV9 | 0, // V9FMOVD_FCC = 628
    2180             :     Feature_HasV9 | 0, // V9FMOVQ_FCC = 629
    2181             :     Feature_HasV9 | 0, // V9FMOVS_FCC = 630
    2182             :     Feature_HasV9 | 0, // V9MOVFCCri = 631
    2183             :     Feature_HasV9 | 0, // V9MOVFCCrr = 632
    2184             :     0, // WRASRri = 633
    2185             :     0, // WRASRrr = 634
    2186             :     Feature_HasV9 | 0, // WRPRri = 635
    2187             :     Feature_HasV9 | 0, // WRPRrr = 636
    2188             :     0, // WRPSRri = 637
    2189             :     0, // WRPSRrr = 638
    2190             :     0, // WRTBRri = 639
    2191             :     0, // WRTBRrr = 640
    2192             :     0, // WRWIMri = 641
    2193             :     0, // WRWIMrr = 642
    2194             :     Feature_HasVIS3 | 0, // XMULX = 643
    2195             :     Feature_HasVIS3 | 0, // XMULXHI = 644
    2196             :     0, // XNORCCri = 645
    2197             :     0, // XNORCCrr = 646
    2198             :     0, // XNORXrr = 647
    2199             :     0, // XNORri = 648
    2200             :     0, // XNORrr = 649
    2201             :     0, // XORCCri = 650
    2202             :     0, // XORCCrr = 651
    2203             :     0, // XORXri = 652
    2204             :     0, // XORXrr = 653
    2205             :     0, // XORri = 654
    2206             :     0, // XORrr = 655
    2207             :   };
    2208             : 
    2209             :   assert(Inst.getOpcode() < 656);
    2210             :   uint64_t MissingFeatures =
    2211             :       (AvailableFeatures & RequiredFeatures[Inst.getOpcode()]) ^
    2212             :       RequiredFeatures[Inst.getOpcode()];
    2213             :   if (MissingFeatures) {
    2214             :     std::ostringstream Msg;
    2215             :     Msg << "Attempting to emit " << MCII.getName(Inst.getOpcode()).str()
    2216             :         << " instruction but the ";
    2217             :     for (unsigned i = 0; i < 8 * sizeof(MissingFeatures); ++i)
    2218             :       if (MissingFeatures & (1ULL << i))
    2219             :         Msg << SubtargetFeatureNames[i] << " ";
    2220             :     Msg << "predicate(s) are not met";
    2221             :     report_fatal_error(Msg.str());
    2222             :   }
    2223             : #else
    2224             : // Silence unused variable warning on targets that don't use MCII for other purposes (e.g. BPF).
    2225             : (void)MCII;
    2226             : #endif // NDEBUG
    2227             : }
    2228             : #endif

Generated by: LCOV version 1.13