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: 170 201 84.6 %
Date: 2017-09-14 15:23:50 Functions: 1 1 100.0 %
Legend: Lines: hit not hit

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

Generated by: LCOV version 1.13