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

Generated by: LCOV version 1.13