LCOV - code coverage report
Current view: top level - build-llvm/lib/Target/AMDGPU - R600GenMCCodeEmitter.inc (source / functions) Hit Total Coverage
Test: llvm-toolchain.info Lines: 0 431 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 R600MCCodeEmitter::getBinaryCodeForInstr(const MCInst &MI,
      14             :     SmallVectorImpl<MCFixup> &Fixups,
      15             :     const MCSubtargetInfo &STI) const {
      16             :   static const uint64_t InstBits[] = {
      17             :     UINT64_C(0),
      18             :     UINT64_C(0),
      19             :     UINT64_C(0),
      20             :     UINT64_C(0),
      21             :     UINT64_C(0),
      22             :     UINT64_C(0),
      23             :     UINT64_C(0),
      24             :     UINT64_C(0),
      25             :     UINT64_C(0),
      26             :     UINT64_C(0),
      27             :     UINT64_C(0),
      28             :     UINT64_C(0),
      29             :     UINT64_C(0),
      30             :     UINT64_C(0),
      31             :     UINT64_C(0),
      32             :     UINT64_C(0),
      33             :     UINT64_C(0),
      34             :     UINT64_C(0),
      35             :     UINT64_C(0),
      36             :     UINT64_C(0),
      37             :     UINT64_C(0),
      38             :     UINT64_C(0),
      39             :     UINT64_C(0),
      40             :     UINT64_C(0),
      41             :     UINT64_C(0),
      42             :     UINT64_C(0),
      43             :     UINT64_C(0),
      44             :     UINT64_C(0),
      45             :     UINT64_C(0),
      46             :     UINT64_C(0),
      47             :     UINT64_C(0),
      48             :     UINT64_C(0),
      49             :     UINT64_C(0),
      50             :     UINT64_C(0),
      51             :     UINT64_C(0),
      52             :     UINT64_C(0),
      53             :     UINT64_C(0),
      54             :     UINT64_C(0),
      55             :     UINT64_C(0),
      56             :     UINT64_C(0),
      57             :     UINT64_C(0),
      58             :     UINT64_C(0),
      59             :     UINT64_C(0),
      60             :     UINT64_C(0),
      61             :     UINT64_C(0),
      62             :     UINT64_C(0),
      63             :     UINT64_C(0),
      64             :     UINT64_C(0),
      65             :     UINT64_C(0),
      66             :     UINT64_C(0),
      67             :     UINT64_C(0),
      68             :     UINT64_C(0),
      69             :     UINT64_C(0),
      70             :     UINT64_C(0),
      71             :     UINT64_C(0),
      72             :     UINT64_C(0),
      73             :     UINT64_C(0),
      74             :     UINT64_C(0),
      75             :     UINT64_C(0),
      76             :     UINT64_C(0),
      77             :     UINT64_C(0),
      78             :     UINT64_C(0),
      79             :     UINT64_C(0),
      80             :     UINT64_C(0),
      81             :     UINT64_C(0),
      82             :     UINT64_C(0),
      83             :     UINT64_C(0),
      84             :     UINT64_C(0),
      85             :     UINT64_C(0),
      86             :     UINT64_C(0),
      87             :     UINT64_C(0),
      88             :     UINT64_C(0),
      89             :     UINT64_C(0),
      90             :     UINT64_C(0),
      91             :     UINT64_C(0),
      92             :     UINT64_C(0),
      93             :     UINT64_C(0),
      94             :     UINT64_C(0),
      95             :     UINT64_C(0),
      96             :     UINT64_C(0),
      97             :     UINT64_C(0),
      98             :     UINT64_C(0),
      99             :     UINT64_C(0),
     100             :     UINT64_C(0),
     101             :     UINT64_C(0),
     102             :     UINT64_C(0),
     103             :     UINT64_C(0),
     104             :     UINT64_C(0),
     105             :     UINT64_C(0),
     106             :     UINT64_C(0),
     107             :     UINT64_C(0),
     108             :     UINT64_C(0),
     109             :     UINT64_C(0),
     110             :     UINT64_C(0),
     111             :     UINT64_C(0),
     112             :     UINT64_C(0),
     113             :     UINT64_C(0),
     114             :     UINT64_C(0),
     115             :     UINT64_C(0),
     116             :     UINT64_C(0),
     117             :     UINT64_C(0),
     118             :     UINT64_C(0),
     119             :     UINT64_C(0),
     120             :     UINT64_C(0),
     121             :     UINT64_C(0),
     122             :     UINT64_C(0),
     123             :     UINT64_C(0),
     124             :     UINT64_C(0),
     125             :     UINT64_C(0),
     126             :     UINT64_C(0),
     127             :     UINT64_C(0),
     128             :     UINT64_C(0),
     129             :     UINT64_C(0),
     130             :     UINT64_C(0),
     131             :     UINT64_C(0),
     132             :     UINT64_C(0),
     133             :     UINT64_C(0),
     134             :     UINT64_C(0),
     135             :     UINT64_C(0),
     136             :     UINT64_C(0),
     137             :     UINT64_C(0),
     138             :     UINT64_C(0),
     139             :     UINT64_C(0),
     140             :     UINT64_C(0),
     141             :     UINT64_C(0),
     142             :     UINT64_C(0),
     143             :     UINT64_C(0),
     144             :     UINT64_C(0),
     145             :     UINT64_C(0),
     146             :     UINT64_C(0),
     147             :     UINT64_C(0),
     148             :     UINT64_C(0),
     149             :     UINT64_C(0),
     150             :     UINT64_C(0),
     151             :     UINT64_C(0),
     152             :     UINT64_C(0),
     153             :     UINT64_C(0),
     154             :     UINT64_C(0),
     155             :     UINT64_C(0),
     156             :     UINT64_C(0),
     157             :     UINT64_C(0),
     158             :     UINT64_C(0),
     159             :     UINT64_C(0),
     160             :     UINT64_C(0),
     161             :     UINT64_C(0),
     162             :     UINT64_C(0),
     163             :     UINT64_C(0),
     164             :     UINT64_C(0),
     165             :     UINT64_C(0),
     166             :     UINT64_C(0),
     167             :     UINT64_C(0),
     168             :     UINT64_C(0),
     169             :     UINT64_C(0),
     170             :     UINT64_C(0),
     171             :     UINT64_C(0),
     172             :     UINT64_C(0),
     173             :     UINT64_C(0),
     174             :     UINT64_C(0),
     175             :     UINT64_C(0),
     176             :     UINT64_C(0),
     177             :     UINT64_C(0),
     178             :     UINT64_C(0),
     179             :     UINT64_C(0),
     180             :     UINT64_C(0),
     181             :     UINT64_C(0),
     182             :     UINT64_C(0),
     183             :     UINT64_C(0),
     184             :     UINT64_C(0),
     185             :     UINT64_C(0),
     186             :     UINT64_C(0),
     187             :     UINT64_C(0),
     188             :     UINT64_C(0),
     189             :     UINT64_C(0),
     190             :     UINT64_C(0),
     191             :     UINT64_C(0),
     192             :     UINT64_C(0),
     193             :     UINT64_C(0),
     194             :     UINT64_C(0),
     195             :     UINT64_C(0),
     196             :     UINT64_C(0),
     197             :     UINT64_C(0),
     198             :     UINT64_C(0),
     199             :     UINT64_C(0),
     200             :     UINT64_C(0),
     201             :     UINT64_C(0),
     202             :     UINT64_C(0),
     203             :     UINT64_C(0),
     204             :     UINT64_C(0),
     205             :     UINT64_C(0),
     206             :     UINT64_C(0),
     207             :     UINT64_C(0),
     208             :     UINT64_C(0),
     209             :     UINT64_C(0),
     210             :     UINT64_C(0),
     211             :     UINT64_C(0),
     212             :     UINT64_C(0),        // ADD
     213             :     UINT64_C(45079976738816),   // ADDC_UINT
     214             :     UINT64_C(28587302322176),   // ADD_INT
     215             :     UINT64_C(0),        // ALU_CLAUSE
     216             :     UINT64_C(26388279066624),   // AND_INT
     217             :     UINT64_C(11544872091648),   // ASHR_eg
     218             :     UINT64_C(61572651155456),   // ASHR_r600
     219             :     UINT64_C(93458488360960),   // BCNT_INT
     220             :     UINT64_C(175921860444160),  // BFE_INT_eg
     221             :     UINT64_C(140737488355328),  // BFE_UINT_eg
     222             :     UINT64_C(211106232532992),  // BFI_INT_eg
     223             :     UINT64_C(87960930222080),   // BFM_INT_eg
     224             :     UINT64_C(422212465065984),  // BIT_ALIGN_INT_eg
     225             :     UINT64_C(9895604649984),    // CEIL
     226             :     UINT64_C(11529215046068469760),     // CF_ALU
     227             :     UINT64_C(13258597302978740224),     // CF_ALU_BREAK
     228             :     UINT64_C(12970366926827028480),     // CF_ALU_CONTINUE
     229             :     UINT64_C(13546827679130451968),     // CF_ALU_ELSE_AFTER
     230             :     UINT64_C(12105675798371893248),     // CF_ALU_POP_AFTER
     231             :     UINT64_C(11817445422220181504),     // CF_ALU_PUSH_BEFORE
     232             :     UINT64_C(9565645608534933504),      // CF_CALL_FS_EG
     233             :     UINT64_C(9907919180215091200),      // CF_CALL_FS_R600
     234             :     UINT64_C(9367487224930631680),      // CF_CONTINUE_EG
     235             :     UINT64_C(9511602413006487552),      // CF_CONTINUE_R600
     236             :     UINT64_C(9457559217478041600),      // CF_ELSE_EG
     237             :     UINT64_C(9691746398101307392),      // CF_ELSE_R600
     238             :     UINT64_C(9799832789158199296),      // CF_END_CM
     239             :     UINT64_C(9232379236109516800),      // CF_END_EG
     240             :     UINT64_C(9232379236109516800),      // CF_END_R600
     241             :     UINT64_C(9403516021949595648),      // CF_JUMP_EG
     242             :     UINT64_C(9583660007044415488),      // CF_JUMP_R600
     243             :     UINT64_C(9421530420459077632),      // CF_PUSH_EG
     244             :     UINT64_C(9655717601082343424),      // CF_PUSH_ELSE_R600
     245             :     UINT64_C(9241386435364257792),      // CF_TC_EG
     246             :     UINT64_C(9259400833873739776),      // CF_TC_R600
     247             :     UINT64_C(9259400833873739776),      // CF_VC_EG
     248             :     UINT64_C(9295429630892703744),      // CF_VC_R600
     249             :     UINT64_C(985162418487296),  // CNDE_INT
     250             :     UINT64_C(879609302220800),  // CNDE_eg
     251             :     UINT64_C(844424930131968),  // CNDE_r600
     252             :     UINT64_C(1055531162664960), // CNDGE_INT
     253             :     UINT64_C(949978046398464),  // CNDGE_eg
     254             :     UINT64_C(914793674309632),  // CNDGE_r600
     255             :     UINT64_C(1020346790576128), // CNDGT_INT
     256             :     UINT64_C(914793674309632),  // CNDGT_eg
     257             :     UINT64_C(879609302220800),  // CNDGT_r600
     258             :     UINT64_C(78065325572096),   // COS_cm
     259             :     UINT64_C(78065325572096),   // COS_eg
     260             :     UINT64_C(61022895341568),   // COS_r600
     261             :     UINT64_C(61022895341568),   // COS_r700
     262             :     UINT64_C(105553116266496),  // CUBE_eg_real
     263             :     UINT64_C(45079976738816),   // CUBE_r600_real
     264             :     UINT64_C(104453604638720),  // DOT4_eg
     265             :     UINT64_C(43980465111040),   // DOT4_r600
     266             :     UINT64_C(9223372036854775808),      // EG_ExportBuf
     267             :     UINT64_C(9223372040076001280),      // EG_ExportSwz
     268             :     UINT64_C(9313444029402185728),      // END_LOOP_EG
     269             :     UINT64_C(9403516021949595648),      // END_LOOP_R600
     270             :     UINT64_C(70918499991552),   // EXP_IEEE_cm
     271             :     UINT64_C(70918499991552),   // EXP_IEEE_eg
     272             :     UINT64_C(53326313947136),   // EXP_IEEE_r600
     273             :     UINT64_C(0),        // FETCH_CLAUSE
     274             :     UINT64_C(94008244174848),   // FFBH_UINT
     275             :     UINT64_C(94557999988736),   // FFBL_INT
     276             :     UINT64_C(10995116277760),   // FLOOR
     277             :     UINT64_C(89610197663744),   // FLT16_TO_FLT32
     278             :     UINT64_C(89060441849856),   // FLT32_TO_FLT16
     279             :     UINT64_C(43980465111040),   // FLT_TO_INT_eg
     280             :     UINT64_C(58823872086016),   // FLT_TO_INT_r600
     281             :     UINT64_C(84662395338752),   // FLT_TO_UINT_eg
     282             :     UINT64_C(66520453480448),   // FLT_TO_UINT_r600
     283             :     UINT64_C(246290604621824),  // FMA_eg
     284             :     UINT64_C(8796093022208),    // FRACT
     285             :     UINT64_C(46181635850240),   // GROUP_BARRIER
     286             :     UINT64_C(123145302310912),  // INTERP_LOAD_P0
     287             :     UINT64_C(4294967295),       // INTERP_PAIR_XY
     288             :     UINT64_C(4294967295),       // INTERP_PAIR_ZW
     289             :     UINT64_C(4294967295),       // INTERP_VEC_LOAD
     290             :     UINT64_C(5747147278385152), // INTERP_XY
     291             :     UINT64_C(5747697034199040), // INTERP_ZW
     292             :     UINT64_C(85212151152640),   // INT_TO_FLT_eg
     293             :     UINT64_C(59373627899904),   // INT_TO_FLT_r600
     294             :     UINT64_C(24739011624960),   // KILLGT
     295             :     UINT64_C(598134325510144),  // LDS_ADD
     296             :     UINT64_C(288828510477221888),       // LDS_ADD_RET
     297             :     UINT64_C(81662927618179072),        // LDS_AND
     298             :     UINT64_C(369893303769890816),       // LDS_AND_RET
     299             :     UINT64_C(486986894081523712),       // LDS_BYTE_READ_RET
     300             :     UINT64_C(162727720910848000),       // LDS_BYTE_WRITE
     301             :     UINT64_C(144713322401366016),       // LDS_CMPST
     302             :     UINT64_C(432943698553077760),       // LDS_CMPST_RET
     303             :     UINT64_C(54641329853956096),        // LDS_MAX_INT
     304             :     UINT64_C(342871706005667840),       // LDS_MAX_INT_RET
     305             :     UINT64_C(72655728363438080),        // LDS_MAX_UINT
     306             :     UINT64_C(360886104515149824),       // LDS_MAX_UINT_RET
     307             :     UINT64_C(45634130599215104),        // LDS_MIN_INT
     308             :     UINT64_C(333864506750926848),       // LDS_MIN_INT_RET
     309             :     UINT64_C(63648529108697088),        // LDS_MIN_UINT
     310             :     UINT64_C(351878905260408832),       // LDS_MIN_UINT_RET
     311             :     UINT64_C(90670126872920064),        // LDS_OR
     312             :     UINT64_C(378900503024631808),       // LDS_OR_RET
     313             :     UINT64_C(450958097062559744),       // LDS_READ_RET
     314             :     UINT64_C(505001292591005696),       // LDS_SHORT_READ_RET
     315             :     UINT64_C(171734920165588992),       // LDS_SHORT_WRITE
     316             :     UINT64_C(9605333580251136), // LDS_SUB
     317             :     UINT64_C(297835709731962880),       // LDS_SUB_RET
     318             :     UINT64_C(495994093336264704),       // LDS_UBYTE_READ_RET
     319             :     UINT64_C(514008491845746688),       // LDS_USHORT_READ_RET
     320             :     UINT64_C(117691724637143040),       // LDS_WRITE
     321             :     UINT64_C(117691724637143040),       // LDS_WRXCHG
     322             :     UINT64_C(405922100788854784),       // LDS_WRXCHG_RET
     323             :     UINT64_C(99677326127661056),        // LDS_XOR
     324             :     UINT64_C(387907702279372800),       // LDS_XOR_RET
     325             :     UINT64_C(0),        // LITERALS
     326             :     UINT64_C(71468255805440),   // LOG_CLAMPED_eg
     327             :     UINT64_C(53876069761024),   // LOG_CLAMPED_r600
     328             :     UINT64_C(72018011619328),   // LOG_IEEE_cm
     329             :     UINT64_C(72018011619328),   // LOG_IEEE_eg
     330             :     UINT64_C(54425825574912),   // LOG_IEEE_r600
     331             :     UINT64_C(9385501623440113664),      // LOOP_BREAK_EG
     332             :     UINT64_C(9547631210025451520),      // LOOP_BREAK_R600
     333             :     UINT64_C(12644383719424),   // LSHL_eg
     334             :     UINT64_C(62672162783232),   // LSHL_r600
     335             :     UINT64_C(12094627905536),   // LSHR_eg
     336             :     UINT64_C(62122406969344),   // LSHR_r600
     337             :     UINT64_C(1649267441664),    // MAX
     338             :     UINT64_C(2748779069440),    // MAX_DX10
     339             :     UINT64_C(29686813949952),   // MAX_INT
     340             :     UINT64_C(30786325577728),   // MAX_UINT
     341             :     UINT64_C(2199023255552),    // MIN
     342             :     UINT64_C(3298534883328),    // MIN_DX10
     343             :     UINT64_C(30236569763840),   // MIN_INT
     344             :     UINT64_C(31336081391616),   // MIN_UINT
     345             :     UINT64_C(13743895347200),   // MOV
     346             :     UINT64_C(112150186033152),  // MOVA_INT_eg
     347             :     UINT64_C(549755813888),     // MUL
     348             :     UINT64_C(844424930131968),  // MULADD_IEEE_eg
     349             :     UINT64_C(703687441776640),  // MULADD_IEEE_r600
     350             :     UINT64_C(281474976710656),  // MULADD_INT24_cm
     351             :     UINT64_C(562949953421312),  // MULADD_UINT24_eg
     352             :     UINT64_C(703687441776640),  // MULADD_eg
     353             :     UINT64_C(562949953421312),  // MULADD_r600
     354             :     UINT64_C(79164837199872),   // MULHI_INT_cm
     355             :     UINT64_C(50577534877696),   // MULHI_INT_cm24
     356             :     UINT64_C(79164837199872),   // MULHI_INT_eg
     357             :     UINT64_C(63771674411008),   // MULHI_INT_r600
     358             :     UINT64_C(97856534872064),   // MULHI_UINT24_eg
     359             :     UINT64_C(80264348827648),   // MULHI_UINT_cm
     360             :     UINT64_C(97856534872064),   // MULHI_UINT_cm24
     361             :     UINT64_C(80264348827648),   // MULHI_UINT_eg
     362             :     UINT64_C(64871186038784),   // MULHI_UINT_r600
     363             :     UINT64_C(78615081385984),   // MULLO_INT_cm
     364             :     UINT64_C(78615081385984),   // MULLO_INT_eg
     365             :     UINT64_C(63221918597120),   // MULLO_INT_r600
     366             :     UINT64_C(79714593013760),   // MULLO_UINT_cm
     367             :     UINT64_C(79714593013760),   // MULLO_UINT_eg
     368             :     UINT64_C(64321430224896),   // MULLO_UINT_r600
     369             :     UINT64_C(1099511627776),    // MUL_IEEE
     370             :     UINT64_C(50027779063808),   // MUL_INT24_cm
     371             :     UINT64_C(1090715534753792), // MUL_LIT_eg
     372             :     UINT64_C(422212465065984),  // MUL_LIT_r600
     373             :     UINT64_C(99505802313728),   // MUL_UINT24_eg
     374             :     UINT64_C(28037546508288),   // NOT_INT
     375             :     UINT64_C(26938034880512),   // OR_INT
     376             :     UINT64_C(0),        // PAD
     377             :     UINT64_C(9475573615987523584),      // POP_EG
     378             :     UINT64_C(9727775195120271360),      // POP_R600
     379             :     UINT64_C(17592186044416),   // PRED_SETE
     380             :     UINT64_C(36283883716608),   // PRED_SETE_INT
     381             :     UINT64_C(18691697672192),   // PRED_SETGE
     382             :     UINT64_C(37383395344384),   // PRED_SETGE_INT
     383             :     UINT64_C(18141941858304),   // PRED_SETGT
     384             :     UINT64_C(36833639530496),   // PRED_SETGT_INT
     385             :     UINT64_C(19241453486080),   // PRED_SETNE
     386             :     UINT64_C(37933151158272),   // PRED_SETNE_INT
     387             :     UINT64_C(9223372036854775808),      // R600_ExportBuf
     388             :     UINT64_C(9223372040076001280),      // R600_ExportSwz
     389             :     UINT64_C(10772874191460901488),     // RAT_ATOMIC_ADD_NORET
     390             :     UINT64_C(10772874191460900976),     // RAT_ATOMIC_ADD_RTN
     391             :     UINT64_C(10772874191460901600),     // RAT_ATOMIC_AND_NORET
     392             :     UINT64_C(10772874191460901088),     // RAT_ATOMIC_AND_RTN
     393             :     UINT64_C(10772874191460901440),     // RAT_ATOMIC_CMPXCHG_INT_NORET
     394             :     UINT64_C(10772874191460900928),     // RAT_ATOMIC_CMPXCHG_INT_RTN
     395             :     UINT64_C(10772874191460901680),     // RAT_ATOMIC_DEC_UINT_NORET
     396             :     UINT64_C(10772874191460901168),     // RAT_ATOMIC_DEC_UINT_RTN
     397             :     UINT64_C(10772874191460901664),     // RAT_ATOMIC_INC_UINT_NORET
     398             :     UINT64_C(10772874191460901152),     // RAT_ATOMIC_INC_UINT_RTN
     399             :     UINT64_C(10772874191460901568),     // RAT_ATOMIC_MAX_INT_NORET
     400             :     UINT64_C(10772874191460901056),     // RAT_ATOMIC_MAX_INT_RTN
     401             :     UINT64_C(10772874191460901584),     // RAT_ATOMIC_MAX_UINT_NORET
     402             :     UINT64_C(10772874191460901072),     // RAT_ATOMIC_MAX_UINT_RTN
     403             :     UINT64_C(10772874191460901536),     // RAT_ATOMIC_MIN_INT_NORET
     404             :     UINT64_C(10772874191460901024),     // RAT_ATOMIC_MIN_INT_RTN
     405             :     UINT64_C(10772874191460901552),     // RAT_ATOMIC_MIN_UINT_NORET
     406             :     UINT64_C(10772874191460901040),     // RAT_ATOMIC_MIN_UINT_RTN
     407             :     UINT64_C(10772874191460901616),     // RAT_ATOMIC_OR_NORET
     408             :     UINT64_C(10772874191460901104),     // RAT_ATOMIC_OR_RTN
     409             :     UINT64_C(10772874191460901520),     // RAT_ATOMIC_RSUB_NORET
     410             :     UINT64_C(10772874191460901008),     // RAT_ATOMIC_RSUB_RTN
     411             :     UINT64_C(10772874191460901504),     // RAT_ATOMIC_SUB_NORET
     412             :     UINT64_C(10772874191460900992),     // RAT_ATOMIC_SUB_RTN
     413             :     UINT64_C(10772874191460901408),     // RAT_ATOMIC_XCHG_INT_NORET
     414             :     UINT64_C(10772874191460900880),     // RAT_ATOMIC_XCHG_INT_RTN
     415             :     UINT64_C(10772874191460901632),     // RAT_ATOMIC_XOR_NORET
     416             :     UINT64_C(10772874191460901120),     // RAT_ATOMIC_XOR_RTN
     417             :     UINT64_C(10772874191460901136),     // RAT_MSKOR
     418             :     UINT64_C(10790888589970383168),     // RAT_STORE_DWORD128
     419             :     UINT64_C(10790642299365761344),     // RAT_STORE_DWORD32
     420             :     UINT64_C(10790677483737850176),     // RAT_STORE_DWORD64
     421             :     UINT64_C(10772874191460900880),     // RAT_STORE_TYPED_cm
     422             :     UINT64_C(10772874191460900880),     // RAT_STORE_TYPED_eg
     423             :     UINT64_C(10790888589970382880),     // RAT_WRITE_CACHELESS_128_eg
     424             :     UINT64_C(10790642299365761056),     // RAT_WRITE_CACHELESS_32_eg
     425             :     UINT64_C(10790677483737849888),     // RAT_WRITE_CACHELESS_64_eg
     426             :     UINT64_C(74217034874880),   // RECIPSQRT_CLAMPED_cm
     427             :     UINT64_C(74217034874880),   // RECIPSQRT_CLAMPED_eg
     428             :     UINT64_C(56624848830464),   // RECIPSQRT_CLAMPED_r600
     429             :     UINT64_C(75316546502656),   // RECIPSQRT_IEEE_cm
     430             :     UINT64_C(75316546502656),   // RECIPSQRT_IEEE_eg
     431             :     UINT64_C(57724360458240),   // RECIPSQRT_IEEE_r600
     432             :     UINT64_C(72567767433216),   // RECIP_CLAMPED_cm
     433             :     UINT64_C(72567767433216),   // RECIP_CLAMPED_eg
     434             :     UINT64_C(54975581388800),   // RECIP_CLAMPED_r600
     435             :     UINT64_C(73667279060992),   // RECIP_IEEE_cm
     436             :     UINT64_C(73667279060992),   // RECIP_IEEE_eg
     437             :     UINT64_C(56075093016576),   // RECIP_IEEE_r600
     438             :     UINT64_C(81363860455424),   // RECIP_UINT_eg
     439             :     UINT64_C(65970697666560),   // RECIP_UINT_r600
     440             :     UINT64_C(10445360463872),   // RNDNE
     441             :     UINT64_C(4398046511104),    // SETE
     442             :     UINT64_C(6597069766656),    // SETE_DX10
     443             :     UINT64_C(31885837205504),   // SETE_INT
     444             :     UINT64_C(7696581394432),    // SETGE_DX10
     445             :     UINT64_C(32985348833280),   // SETGE_INT
     446             :     UINT64_C(34634616274944),   // SETGE_UINT
     447             :     UINT64_C(7146825580544),    // SETGT_DX10
     448             :     UINT64_C(32435593019392),   // SETGT_INT
     449             :     UINT64_C(34084860461056),   // SETGT_UINT
     450             :     UINT64_C(8246337208320),    // SETNE_DX10
     451             :     UINT64_C(33535104647168),   // SETNE_INT
     452             :     UINT64_C(5497558138880),    // SGE
     453             :     UINT64_C(4947802324992),    // SGT
     454             :     UINT64_C(77515569758208),   // SIN_cm
     455             :     UINT64_C(77515569758208),   // SIN_eg
     456             :     UINT64_C(60473139527680),   // SIN_r600
     457             :     UINT64_C(60473139527680),   // SIN_r700
     458             :     UINT64_C(6047313952768),    // SNE
     459             :     UINT64_C(45629732552704),   // SUBB_UINT
     460             :     UINT64_C(29137058136064),   // SUB_INT
     461             :     UINT64_C(7),        // TEX_GET_GRADIENTS_H
     462             :     UINT64_C(8),        // TEX_GET_GRADIENTS_V
     463             :     UINT64_C(4),        // TEX_GET_TEXTURE_RESINFO
     464             :     UINT64_C(3),        // TEX_LD
     465             :     UINT64_C(35),       // TEX_LDPTR
     466             :     UINT64_C(16),       // TEX_SAMPLE
     467             :     UINT64_C(24),       // TEX_SAMPLE_C
     468             :     UINT64_C(28),       // TEX_SAMPLE_C_G
     469             :     UINT64_C(25),       // TEX_SAMPLE_C_L
     470             :     UINT64_C(26),       // TEX_SAMPLE_C_LB
     471             :     UINT64_C(20),       // TEX_SAMPLE_G
     472             :     UINT64_C(17),       // TEX_SAMPLE_L
     473             :     UINT64_C(18),       // TEX_SAMPLE_LB
     474             :     UINT64_C(11),       // TEX_SET_GRADIENTS_H
     475             :     UINT64_C(12),       // TEX_SET_GRADIENTS_V
     476             :     UINT64_C(16775081780284751936),     // TEX_VTX_CONSTBUF
     477             :     UINT64_C(9236056004066541632),      // TEX_VTX_TEXBUF
     478             :     UINT64_C(9345848836096),    // TRUNC
     479             :     UINT64_C(85761906966528),   // UINT_TO_FLT_eg
     480             :     UINT64_C(59923383713792),   // UINT_TO_FLT_r600
     481             :     UINT64_C(1769087820812517440),      // VTX_READ_128_cm
     482             :     UINT64_C(1769087821886259264),      // VTX_READ_128_eg
     483             :     UINT64_C(1251983104222953536),      // VTX_READ_16_cm
     484             :     UINT64_C(1251983104357171264),      // VTX_READ_16_eg
     485             :     UINT64_C(1396098292298809408),      // VTX_READ_32_cm
     486             :     UINT64_C(1396098292567244864),      // VTX_READ_32_eg
     487             :     UINT64_C(1684223115334254656),      // VTX_READ_64_cm
     488             :     UINT64_C(1684223115871125568),      // VTX_READ_64_eg
     489             :     UINT64_C(1179925510185025600),      // VTX_READ_8_cm
     490             :     UINT64_C(1179925510252134464),      // VTX_READ_8_eg
     491             :     UINT64_C(9331458427911667712),      // WHILE_LOOP_EG
     492             :     UINT64_C(9439544818968559616),      // WHILE_LOOP_R600
     493             :     UINT64_C(27487790694400),   // XOR_INT
     494             :     UINT64_C(0)
     495             :   };
     496           0 :   const unsigned opcode = MI.getOpcode();
     497           0 :   uint64_t Value = InstBits[opcode];
     498             :   uint64_t op = 0;
     499             :   (void)op;  // suppress warning
     500           0 :   switch (opcode) {
     501             :     case R600::CF_CALL_FS_EG:
     502             :     case R600::CF_CALL_FS_R600:
     503             :     case R600::CF_END_CM:
     504             :     case R600::CF_END_EG:
     505             :     case R600::CF_END_R600:
     506             :     case R600::GROUP_BARRIER:
     507             :     case R600::INTERP_PAIR_XY:
     508             :     case R600::INTERP_PAIR_ZW:
     509             :     case R600::INTERP_VEC_LOAD:
     510             :     case R600::PAD: {
     511             :       break;
     512             :     }
     513             :     case R600::CF_CONTINUE_EG:
     514             :     case R600::END_LOOP_EG:
     515             :     case R600::LOOP_BREAK_EG:
     516             :     case R600::WHILE_LOOP_EG: {
     517             :       // op: ADDR
     518           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
     519           0 :       Value |= op & UINT64_C(16777215);
     520           0 :       break;
     521             :     }
     522             :     case R600::CF_TC_EG:
     523             :     case R600::CF_VC_EG: {
     524             :       // op: ADDR
     525           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
     526           0 :       Value |= op & UINT64_C(16777215);
     527             :       // op: COUNT
     528           0 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
     529           0 :       Value |= (op & UINT64_C(63)) << 42;
     530           0 :       break;
     531             :     }
     532             :     case R600::CF_ELSE_EG:
     533             :     case R600::CF_JUMP_EG:
     534             :     case R600::CF_PUSH_EG:
     535             :     case R600::POP_EG: {
     536             :       // op: ADDR
     537           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
     538           0 :       Value |= op & UINT64_C(16777215);
     539             :       // op: POP_COUNT
     540           0 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
     541           0 :       Value |= (op & UINT64_C(7)) << 32;
     542           0 :       break;
     543             :     }
     544             :     case R600::CF_ALU:
     545             :     case R600::CF_ALU_BREAK:
     546             :     case R600::CF_ALU_CONTINUE:
     547             :     case R600::CF_ALU_ELSE_AFTER:
     548             :     case R600::CF_ALU_POP_AFTER:
     549             :     case R600::CF_ALU_PUSH_BEFORE: {
     550             :       // op: ADDR
     551           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
     552           0 :       Value |= op & UINT64_C(4194303);
     553             :       // op: KCACHE_BANK0
     554           0 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
     555           0 :       Value |= (op & UINT64_C(15)) << 22;
     556             :       // op: KCACHE_BANK1
     557           0 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
     558           0 :       Value |= (op & UINT64_C(15)) << 26;
     559             :       // op: KCACHE_MODE0
     560           0 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
     561           0 :       Value |= (op & UINT64_C(3)) << 30;
     562             :       // op: KCACHE_MODE1
     563           0 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
     564           0 :       Value |= (op & UINT64_C(3)) << 32;
     565             :       // op: KCACHE_ADDR0
     566           0 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
     567           0 :       Value |= (op & UINT64_C(255)) << 34;
     568             :       // op: KCACHE_ADDR1
     569           0 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
     570           0 :       Value |= (op & UINT64_C(255)) << 42;
     571             :       // op: COUNT
     572           0 :       op = getMachineOpValue(MI, MI.getOperand(7), Fixups, STI);
     573           0 :       Value |= (op & UINT64_C(127)) << 50;
     574           0 :       break;
     575             :     }
     576             :     case R600::CF_CONTINUE_R600:
     577             :     case R600::CF_PUSH_ELSE_R600:
     578             :     case R600::END_LOOP_R600:
     579             :     case R600::LOOP_BREAK_R600:
     580             :     case R600::WHILE_LOOP_R600: {
     581             :       // op: ADDR
     582           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
     583           0 :       Value |= op & UINT64_C(4294967295);
     584           0 :       break;
     585             :     }
     586             :     case R600::CF_TC_R600:
     587             :     case R600::CF_VC_R600: {
     588             :       // op: ADDR
     589           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
     590           0 :       Value |= op & UINT64_C(4294967295);
     591             :       // op: CNT
     592           0 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
     593           0 :       Value |= (op & UINT64_C(8)) << 48;
     594           0 :       Value |= (op & UINT64_C(7)) << 42;
     595           0 :       break;
     596             :     }
     597             :     case R600::CF_ELSE_R600:
     598             :     case R600::CF_JUMP_R600:
     599             :     case R600::POP_R600: {
     600             :       // op: ADDR
     601           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
     602           0 :       Value |= op & UINT64_C(4294967295);
     603             :       // op: POP_COUNT
     604           0 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
     605           0 :       Value |= (op & UINT64_C(7)) << 32;
     606           0 :       break;
     607             :     }
     608             :     case R600::TEX_GET_GRADIENTS_H:
     609             :     case R600::TEX_GET_GRADIENTS_V:
     610             :     case R600::TEX_GET_TEXTURE_RESINFO:
     611             :     case R600::TEX_LD:
     612             :     case R600::TEX_LDPTR:
     613             :     case R600::TEX_SAMPLE:
     614             :     case R600::TEX_SAMPLE_C:
     615             :     case R600::TEX_SAMPLE_C_G:
     616             :     case R600::TEX_SAMPLE_C_L:
     617             :     case R600::TEX_SAMPLE_C_LB:
     618             :     case R600::TEX_SAMPLE_G:
     619             :     case R600::TEX_SAMPLE_L:
     620             :     case R600::TEX_SAMPLE_LB:
     621             :     case R600::TEX_SET_GRADIENTS_H:
     622             :     case R600::TEX_SET_GRADIENTS_V: {
     623             :       // op: RESOURCE_ID
     624           0 :       op = getMachineOpValue(MI, MI.getOperand(13), Fixups, STI);
     625           0 :       Value |= (op & UINT64_C(255)) << 8;
     626             :       // op: SRC_GPR
     627           0 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
     628           0 :       Value |= (op & UINT64_C(127)) << 16;
     629             :       // op: DST_GPR
     630           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
     631           0 :       Value |= (op & UINT64_C(127)) << 32;
     632             :       // op: DST_SEL_X
     633           0 :       op = getMachineOpValue(MI, MI.getOperand(9), Fixups, STI);
     634           0 :       Value |= (op & UINT64_C(7)) << 41;
     635             :       // op: DST_SEL_Y
     636           0 :       op = getMachineOpValue(MI, MI.getOperand(10), Fixups, STI);
     637           0 :       Value |= (op & UINT64_C(7)) << 44;
     638             :       // op: DST_SEL_Z
     639           0 :       op = getMachineOpValue(MI, MI.getOperand(11), Fixups, STI);
     640           0 :       Value |= (op & UINT64_C(7)) << 47;
     641             :       // op: DST_SEL_W
     642           0 :       op = getMachineOpValue(MI, MI.getOperand(12), Fixups, STI);
     643           0 :       Value |= (op & UINT64_C(7)) << 50;
     644             :       // op: COORD_TYPE_X
     645           0 :       op = getMachineOpValue(MI, MI.getOperand(15), Fixups, STI);
     646           0 :       Value |= (op & UINT64_C(1)) << 60;
     647             :       // op: COORD_TYPE_Y
     648           0 :       op = getMachineOpValue(MI, MI.getOperand(16), Fixups, STI);
     649           0 :       Value |= (op & UINT64_C(1)) << 61;
     650             :       // op: COORD_TYPE_Z
     651           0 :       op = getMachineOpValue(MI, MI.getOperand(17), Fixups, STI);
     652           0 :       Value |= (op & UINT64_C(1)) << 62;
     653             :       // op: COORD_TYPE_W
     654           0 :       op = getMachineOpValue(MI, MI.getOperand(18), Fixups, STI);
     655           0 :       Value |= (op & UINT64_C(1)) << 63;
     656           0 :       break;
     657             :     }
     658             :     case R600::EG_ExportBuf: {
     659             :       // op: arraybase
     660           0 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
     661           0 :       Value |= op & UINT64_C(8191);
     662             :       // op: type
     663           0 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
     664           0 :       Value |= (op & UINT64_C(3)) << 13;
     665             :       // op: gpr
     666           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
     667           0 :       Value |= (op & UINT64_C(127)) << 15;
     668             :       // op: arraySize
     669           0 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
     670           0 :       Value |= (op & UINT64_C(4095)) << 32;
     671             :       // op: compMask
     672           0 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
     673           0 :       Value |= (op & UINT64_C(15)) << 44;
     674             :       // op: eop
     675           0 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
     676           0 :       Value |= (op & UINT64_C(1)) << 53;
     677             :       // op: inst
     678           0 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
     679           0 :       Value |= (op & UINT64_C(255)) << 54;
     680           0 :       break;
     681             :     }
     682             :     case R600::R600_ExportBuf: {
     683             :       // op: arraybase
     684           0 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
     685           0 :       Value |= op & UINT64_C(8191);
     686             :       // op: type
     687           0 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
     688           0 :       Value |= (op & UINT64_C(3)) << 13;
     689             :       // op: gpr
     690           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
     691           0 :       Value |= (op & UINT64_C(127)) << 15;
     692             :       // op: arraySize
     693           0 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
     694           0 :       Value |= (op & UINT64_C(4095)) << 32;
     695             :       // op: compMask
     696           0 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
     697           0 :       Value |= (op & UINT64_C(15)) << 44;
     698             :       // op: eop
     699           0 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
     700           0 :       Value |= (op & UINT64_C(1)) << 53;
     701             :       // op: inst
     702           0 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
     703           0 :       Value |= (op & UINT64_C(255)) << 55;
     704           0 :       break;
     705             :     }
     706             :     case R600::EG_ExportSwz: {
     707             :       // op: arraybase
     708           0 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
     709           0 :       Value |= op & UINT64_C(8191);
     710             :       // op: type
     711           0 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
     712           0 :       Value |= (op & UINT64_C(3)) << 13;
     713             :       // op: gpr
     714           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
     715           0 :       Value |= (op & UINT64_C(127)) << 15;
     716             :       // op: sw_x
     717           0 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
     718           0 :       Value |= (op & UINT64_C(7)) << 32;
     719             :       // op: sw_y
     720           0 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
     721           0 :       Value |= (op & UINT64_C(7)) << 35;
     722             :       // op: sw_z
     723           0 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
     724           0 :       Value |= (op & UINT64_C(7)) << 38;
     725             :       // op: sw_w
     726           0 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
     727           0 :       Value |= (op & UINT64_C(7)) << 41;
     728             :       // op: eop
     729           0 :       op = getMachineOpValue(MI, MI.getOperand(8), Fixups, STI);
     730           0 :       Value |= (op & UINT64_C(1)) << 53;
     731             :       // op: inst
     732           0 :       op = getMachineOpValue(MI, MI.getOperand(7), Fixups, STI);
     733           0 :       Value |= (op & UINT64_C(255)) << 54;
     734           0 :       break;
     735             :     }
     736             :     case R600::R600_ExportSwz: {
     737             :       // op: arraybase
     738           0 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
     739           0 :       Value |= op & UINT64_C(8191);
     740             :       // op: type
     741           0 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
     742           0 :       Value |= (op & UINT64_C(3)) << 13;
     743             :       // op: gpr
     744           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
     745           0 :       Value |= (op & UINT64_C(127)) << 15;
     746             :       // op: sw_x
     747           0 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
     748           0 :       Value |= (op & UINT64_C(7)) << 32;
     749             :       // op: sw_y
     750           0 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
     751           0 :       Value |= (op & UINT64_C(7)) << 35;
     752             :       // op: sw_z
     753           0 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
     754           0 :       Value |= (op & UINT64_C(7)) << 38;
     755             :       // op: sw_w
     756           0 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
     757           0 :       Value |= (op & UINT64_C(7)) << 41;
     758             :       // op: eop
     759           0 :       op = getMachineOpValue(MI, MI.getOperand(8), Fixups, STI);
     760           0 :       Value |= (op & UINT64_C(1)) << 53;
     761             :       // op: inst
     762           0 :       op = getMachineOpValue(MI, MI.getOperand(7), Fixups, STI);
     763           0 :       Value |= (op & UINT64_C(255)) << 55;
     764           0 :       break;
     765             :     }
     766             :     case R600::TEX_VTX_CONSTBUF:
     767             :     case R600::TEX_VTX_TEXBUF: {
     768             :       // op: dst_gpr
     769           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
     770           0 :       Value |= (op & UINT64_C(127)) << 32;
     771             :       // op: src_gpr
     772           0 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
     773           0 :       Value |= (op & UINT64_C(127)) << 16;
     774             :       // op: buffer_id
     775           0 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
     776           0 :       Value |= (op & UINT64_C(255)) << 8;
     777           0 :       break;
     778             :     }
     779             :     case R600::LITERALS: {
     780             :       // op: literal1
     781           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
     782           0 :       Value |= op & UINT64_C(4294967295);
     783             :       // op: literal2
     784           0 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
     785           0 :       Value |= (op & UINT64_C(4294967295)) << 32;
     786           0 :       break;
     787             :     }
     788             :     case R600::ALU_CLAUSE:
     789             :     case R600::FETCH_CLAUSE: {
     790             :       // op: num
     791           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
     792           0 :       Value |= op & UINT64_C(255);
     793           0 :       break;
     794             :     }
     795             :     case R600::RAT_STORE_TYPED_cm: {
     796             :       // op: rat_id
     797           0 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
     798           0 :       Value |= op & UINT64_C(15);
     799             :       // op: rw_gpr
     800           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
     801           0 :       Value |= (op & UINT64_C(127)) << 15;
     802             :       // op: index_gpr
     803           0 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
     804           0 :       Value |= (op & UINT64_C(127)) << 23;
     805           0 :       break;
     806             :     }
     807             :     case R600::RAT_STORE_TYPED_eg: {
     808             :       // op: rat_id
     809           0 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
     810           0 :       Value |= op & UINT64_C(15);
     811             :       // op: rw_gpr
     812           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
     813           0 :       Value |= (op & UINT64_C(127)) << 15;
     814             :       // op: index_gpr
     815           0 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
     816           0 :       Value |= (op & UINT64_C(127)) << 23;
     817             :       // op: eop
     818           0 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
     819           0 :       Value |= (op & UINT64_C(1)) << 53;
     820           0 :       break;
     821             :     }
     822             :     case R600::RAT_MSKOR:
     823             :     case R600::RAT_STORE_DWORD128:
     824             :     case R600::RAT_STORE_DWORD32:
     825             :     case R600::RAT_STORE_DWORD64: {
     826             :       // op: rw_gpr
     827           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
     828           0 :       Value |= (op & UINT64_C(127)) << 15;
     829             :       // op: index_gpr
     830           0 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
     831           0 :       Value |= (op & UINT64_C(127)) << 23;
     832           0 :       break;
     833             :     }
     834             :     case R600::RAT_WRITE_CACHELESS_128_eg:
     835             :     case R600::RAT_WRITE_CACHELESS_32_eg:
     836             :     case R600::RAT_WRITE_CACHELESS_64_eg: {
     837             :       // op: rw_gpr
     838           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
     839           0 :       Value |= (op & UINT64_C(127)) << 15;
     840             :       // op: index_gpr
     841           0 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
     842           0 :       Value |= (op & UINT64_C(127)) << 23;
     843             :       // op: eop
     844           0 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
     845           0 :       Value |= (op & UINT64_C(1)) << 53;
     846           0 :       break;
     847             :     }
     848             :     case R600::RAT_ATOMIC_ADD_NORET:
     849             :     case R600::RAT_ATOMIC_ADD_RTN:
     850             :     case R600::RAT_ATOMIC_AND_NORET:
     851             :     case R600::RAT_ATOMIC_AND_RTN:
     852             :     case R600::RAT_ATOMIC_CMPXCHG_INT_NORET:
     853             :     case R600::RAT_ATOMIC_CMPXCHG_INT_RTN:
     854             :     case R600::RAT_ATOMIC_DEC_UINT_NORET:
     855             :     case R600::RAT_ATOMIC_DEC_UINT_RTN:
     856             :     case R600::RAT_ATOMIC_INC_UINT_NORET:
     857             :     case R600::RAT_ATOMIC_INC_UINT_RTN:
     858             :     case R600::RAT_ATOMIC_MAX_INT_NORET:
     859             :     case R600::RAT_ATOMIC_MAX_INT_RTN:
     860             :     case R600::RAT_ATOMIC_MAX_UINT_NORET:
     861             :     case R600::RAT_ATOMIC_MAX_UINT_RTN:
     862             :     case R600::RAT_ATOMIC_MIN_INT_NORET:
     863             :     case R600::RAT_ATOMIC_MIN_INT_RTN:
     864             :     case R600::RAT_ATOMIC_MIN_UINT_NORET:
     865             :     case R600::RAT_ATOMIC_MIN_UINT_RTN:
     866             :     case R600::RAT_ATOMIC_OR_NORET:
     867             :     case R600::RAT_ATOMIC_OR_RTN:
     868             :     case R600::RAT_ATOMIC_RSUB_NORET:
     869             :     case R600::RAT_ATOMIC_RSUB_RTN:
     870             :     case R600::RAT_ATOMIC_SUB_NORET:
     871             :     case R600::RAT_ATOMIC_SUB_RTN:
     872             :     case R600::RAT_ATOMIC_XCHG_INT_NORET:
     873             :     case R600::RAT_ATOMIC_XCHG_INT_RTN:
     874             :     case R600::RAT_ATOMIC_XOR_NORET:
     875             :     case R600::RAT_ATOMIC_XOR_RTN: {
     876             :       // op: rw_gpr
     877           0 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
     878           0 :       Value |= (op & UINT64_C(127)) << 15;
     879             :       // op: index_gpr
     880           0 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
     881           0 :       Value |= (op & UINT64_C(127)) << 23;
     882           0 :       break;
     883             :     }
     884             :     case R600::LDS_CMPST: {
     885             :       // op: src0
     886           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
     887           0 :       Value |= (op & UINT64_C(1536)) << 1;
     888           0 :       Value |= op & UINT64_C(511);
     889             :       // op: src0_rel
     890           0 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
     891           0 :       Value |= (op & UINT64_C(1)) << 9;
     892             :       // op: src1
     893           0 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
     894           0 :       Value |= (op & UINT64_C(1536)) << 14;
     895           0 :       Value |= (op & UINT64_C(511)) << 13;
     896             :       // op: src1_rel
     897           0 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
     898           0 :       Value |= (op & UINT64_C(1)) << 22;
     899             :       // op: pred_sel
     900           0 :       op = getMachineOpValue(MI, MI.getOperand(10), Fixups, STI);
     901           0 :       Value |= (op & UINT64_C(3)) << 29;
     902             :       // op: last
     903           0 :       op = getMachineOpValue(MI, MI.getOperand(9), Fixups, STI);
     904           0 :       Value |= (op & UINT64_C(1)) << 31;
     905             :       // op: src2
     906           0 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
     907           0 :       Value |= (op & UINT64_C(1536)) << 33;
     908           0 :       Value |= (op & UINT64_C(511)) << 32;
     909             :       // op: src2_rel
     910           0 :       op = getMachineOpValue(MI, MI.getOperand(7), Fixups, STI);
     911           0 :       Value |= (op & UINT64_C(1)) << 41;
     912             :       // op: bank_swizzle
     913           0 :       op = getMachineOpValue(MI, MI.getOperand(11), Fixups, STI);
     914           0 :       Value |= (op & UINT64_C(7)) << 50;
     915           0 :       break;
     916             :     }
     917             :     case R600::LDS_ADD:
     918             :     case R600::LDS_AND:
     919             :     case R600::LDS_BYTE_WRITE:
     920             :     case R600::LDS_MAX_INT:
     921             :     case R600::LDS_MAX_UINT:
     922             :     case R600::LDS_MIN_INT:
     923             :     case R600::LDS_MIN_UINT:
     924             :     case R600::LDS_OR:
     925             :     case R600::LDS_SHORT_WRITE:
     926             :     case R600::LDS_SUB:
     927             :     case R600::LDS_WRITE:
     928             :     case R600::LDS_WRXCHG:
     929             :     case R600::LDS_XOR: {
     930             :       // op: src0
     931           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
     932           0 :       Value |= (op & UINT64_C(1536)) << 1;
     933           0 :       Value |= op & UINT64_C(511);
     934             :       // op: src0_rel
     935           0 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
     936           0 :       Value |= (op & UINT64_C(1)) << 9;
     937             :       // op: src1
     938           0 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
     939           0 :       Value |= (op & UINT64_C(1536)) << 14;
     940           0 :       Value |= (op & UINT64_C(511)) << 13;
     941             :       // op: src1_rel
     942           0 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
     943           0 :       Value |= (op & UINT64_C(1)) << 22;
     944             :       // op: pred_sel
     945           0 :       op = getMachineOpValue(MI, MI.getOperand(7), Fixups, STI);
     946           0 :       Value |= (op & UINT64_C(3)) << 29;
     947             :       // op: last
     948           0 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
     949           0 :       Value |= (op & UINT64_C(1)) << 31;
     950             :       // op: bank_swizzle
     951           0 :       op = getMachineOpValue(MI, MI.getOperand(8), Fixups, STI);
     952           0 :       Value |= (op & UINT64_C(7)) << 50;
     953           0 :       break;
     954             :     }
     955             :     case R600::LDS_BYTE_READ_RET:
     956             :     case R600::LDS_READ_RET:
     957             :     case R600::LDS_SHORT_READ_RET:
     958             :     case R600::LDS_UBYTE_READ_RET:
     959             :     case R600::LDS_USHORT_READ_RET: {
     960             :       // op: src0
     961           0 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
     962           0 :       Value |= (op & UINT64_C(1536)) << 1;
     963           0 :       Value |= op & UINT64_C(511);
     964             :       // op: src0_rel
     965           0 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
     966           0 :       Value |= (op & UINT64_C(1)) << 9;
     967             :       // op: pred_sel
     968           0 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
     969           0 :       Value |= (op & UINT64_C(3)) << 29;
     970             :       // op: last
     971           0 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
     972           0 :       Value |= (op & UINT64_C(1)) << 31;
     973             :       // op: bank_swizzle
     974           0 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
     975           0 :       Value |= (op & UINT64_C(7)) << 50;
     976           0 :       break;
     977             :     }
     978             :     case R600::LDS_CMPST_RET: {
     979             :       // op: src0
     980           0 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
     981           0 :       Value |= (op & UINT64_C(1536)) << 1;
     982           0 :       Value |= op & UINT64_C(511);
     983             :       // op: src0_rel
     984           0 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
     985           0 :       Value |= (op & UINT64_C(1)) << 9;
     986             :       // op: src1
     987           0 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
     988           0 :       Value |= (op & UINT64_C(1536)) << 14;
     989           0 :       Value |= (op & UINT64_C(511)) << 13;
     990             :       // op: src1_rel
     991           0 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
     992           0 :       Value |= (op & UINT64_C(1)) << 22;
     993             :       // op: pred_sel
     994           0 :       op = getMachineOpValue(MI, MI.getOperand(11), Fixups, STI);
     995           0 :       Value |= (op & UINT64_C(3)) << 29;
     996             :       // op: last
     997           0 :       op = getMachineOpValue(MI, MI.getOperand(10), Fixups, STI);
     998           0 :       Value |= (op & UINT64_C(1)) << 31;
     999             :       // op: src2
    1000           0 :       op = getMachineOpValue(MI, MI.getOperand(7), Fixups, STI);
    1001           0 :       Value |= (op & UINT64_C(1536)) << 33;
    1002           0 :       Value |= (op & UINT64_C(511)) << 32;
    1003             :       // op: src2_rel
    1004           0 :       op = getMachineOpValue(MI, MI.getOperand(8), Fixups, STI);
    1005           0 :       Value |= (op & UINT64_C(1)) << 41;
    1006             :       // op: bank_swizzle
    1007           0 :       op = getMachineOpValue(MI, MI.getOperand(12), Fixups, STI);
    1008           0 :       Value |= (op & UINT64_C(7)) << 50;
    1009           0 :       break;
    1010             :     }
    1011             :     case R600::LDS_ADD_RET:
    1012             :     case R600::LDS_AND_RET:
    1013             :     case R600::LDS_MAX_INT_RET:
    1014             :     case R600::LDS_MAX_UINT_RET:
    1015             :     case R600::LDS_MIN_INT_RET:
    1016             :     case R600::LDS_MIN_UINT_RET:
    1017             :     case R600::LDS_OR_RET:
    1018             :     case R600::LDS_SUB_RET:
    1019             :     case R600::LDS_WRXCHG_RET:
    1020             :     case R600::LDS_XOR_RET: {
    1021             :       // op: src0
    1022           0 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    1023           0 :       Value |= (op & UINT64_C(1536)) << 1;
    1024           0 :       Value |= op & UINT64_C(511);
    1025             :       // op: src0_rel
    1026           0 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    1027           0 :       Value |= (op & UINT64_C(1)) << 9;
    1028             :       // op: src1
    1029           0 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    1030           0 :       Value |= (op & UINT64_C(1536)) << 14;
    1031           0 :       Value |= (op & UINT64_C(511)) << 13;
    1032             :       // op: src1_rel
    1033           0 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
    1034           0 :       Value |= (op & UINT64_C(1)) << 22;
    1035             :       // op: pred_sel
    1036           0 :       op = getMachineOpValue(MI, MI.getOperand(8), Fixups, STI);
    1037           0 :       Value |= (op & UINT64_C(3)) << 29;
    1038             :       // op: last
    1039           0 :       op = getMachineOpValue(MI, MI.getOperand(7), Fixups, STI);
    1040           0 :       Value |= (op & UINT64_C(1)) << 31;
    1041             :       // op: bank_swizzle
    1042           0 :       op = getMachineOpValue(MI, MI.getOperand(9), Fixups, STI);
    1043           0 :       Value |= (op & UINT64_C(7)) << 50;
    1044           0 :       break;
    1045             :     }
    1046             :     case R600::BFE_INT_eg:
    1047             :     case R600::BFE_UINT_eg:
    1048             :     case R600::BFI_INT_eg:
    1049             :     case R600::BIT_ALIGN_INT_eg:
    1050             :     case R600::CNDE_INT:
    1051             :     case R600::CNDE_eg:
    1052             :     case R600::CNDE_r600:
    1053             :     case R600::CNDGE_INT:
    1054             :     case R600::CNDGE_eg:
    1055             :     case R600::CNDGE_r600:
    1056             :     case R600::CNDGT_INT:
    1057             :     case R600::CNDGT_eg:
    1058             :     case R600::CNDGT_r600:
    1059             :     case R600::FMA_eg:
    1060             :     case R600::MULADD_IEEE_eg:
    1061             :     case R600::MULADD_IEEE_r600:
    1062             :     case R600::MULADD_INT24_cm:
    1063             :     case R600::MULADD_UINT24_eg:
    1064             :     case R600::MULADD_eg:
    1065             :     case R600::MULADD_r600:
    1066             :     case R600::MUL_LIT_eg:
    1067             :     case R600::MUL_LIT_r600: {
    1068             :       // op: src0
    1069           0 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    1070           0 :       Value |= (op & UINT64_C(1536)) << 1;
    1071           0 :       Value |= op & UINT64_C(511);
    1072             :       // op: src0_rel
    1073           0 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
    1074           0 :       Value |= (op & UINT64_C(1)) << 9;
    1075             :       // op: src1
    1076           0 :       op = getMachineOpValue(MI, MI.getOperand(7), Fixups, STI);
    1077           0 :       Value |= (op & UINT64_C(1536)) << 14;
    1078           0 :       Value |= (op & UINT64_C(511)) << 13;
    1079             :       // op: src1_rel
    1080           0 :       op = getMachineOpValue(MI, MI.getOperand(9), Fixups, STI);
    1081           0 :       Value |= (op & UINT64_C(1)) << 22;
    1082             :       // op: pred_sel
    1083           0 :       op = getMachineOpValue(MI, MI.getOperand(16), Fixups, STI);
    1084           0 :       Value |= (op & UINT64_C(3)) << 29;
    1085             :       // op: last
    1086           0 :       op = getMachineOpValue(MI, MI.getOperand(15), Fixups, STI);
    1087           0 :       Value |= (op & UINT64_C(1)) << 31;
    1088             :       // op: src0_neg
    1089           0 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    1090           0 :       Value |= (op & UINT64_C(1)) << 12;
    1091             :       // op: src1_neg
    1092           0 :       op = getMachineOpValue(MI, MI.getOperand(8), Fixups, STI);
    1093           0 :       Value |= (op & UINT64_C(1)) << 25;
    1094             :       // op: dst
    1095           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    1096           0 :       Value |= (op & UINT64_C(1536)) << 52;
    1097           0 :       Value |= (op & UINT64_C(127)) << 53;
    1098             :       // op: bank_swizzle
    1099           0 :       op = getMachineOpValue(MI, MI.getOperand(18), Fixups, STI);
    1100           0 :       Value |= (op & UINT64_C(7)) << 50;
    1101             :       // op: dst_rel
    1102           0 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    1103           0 :       Value |= (op & UINT64_C(1)) << 60;
    1104             :       // op: clamp
    1105           0 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    1106           0 :       Value |= (op & UINT64_C(1)) << 63;
    1107             :       // op: src2
    1108           0 :       op = getMachineOpValue(MI, MI.getOperand(11), Fixups, STI);
    1109           0 :       Value |= (op & UINT64_C(1536)) << 33;
    1110           0 :       Value |= (op & UINT64_C(511)) << 32;
    1111             :       // op: src2_rel
    1112           0 :       op = getMachineOpValue(MI, MI.getOperand(13), Fixups, STI);
    1113           0 :       Value |= (op & UINT64_C(1)) << 41;
    1114             :       // op: src2_neg
    1115           0 :       op = getMachineOpValue(MI, MI.getOperand(12), Fixups, STI);
    1116           0 :       Value |= (op & UINT64_C(1)) << 44;
    1117           0 :       break;
    1118             :     }
    1119             :     case R600::BCNT_INT:
    1120             :     case R600::CEIL:
    1121             :     case R600::COS_cm:
    1122             :     case R600::COS_eg:
    1123             :     case R600::COS_r600:
    1124             :     case R600::COS_r700:
    1125             :     case R600::EXP_IEEE_cm:
    1126             :     case R600::EXP_IEEE_eg:
    1127             :     case R600::EXP_IEEE_r600:
    1128             :     case R600::FFBH_UINT:
    1129             :     case R600::FFBL_INT:
    1130             :     case R600::FLOOR:
    1131             :     case R600::FLT16_TO_FLT32:
    1132             :     case R600::FLT32_TO_FLT16:
    1133             :     case R600::FLT_TO_INT_eg:
    1134             :     case R600::FLT_TO_INT_r600:
    1135             :     case R600::FLT_TO_UINT_eg:
    1136             :     case R600::FLT_TO_UINT_r600:
    1137             :     case R600::FRACT:
    1138             :     case R600::INTERP_LOAD_P0:
    1139             :     case R600::INT_TO_FLT_eg:
    1140             :     case R600::INT_TO_FLT_r600:
    1141             :     case R600::LOG_CLAMPED_eg:
    1142             :     case R600::LOG_CLAMPED_r600:
    1143             :     case R600::LOG_IEEE_cm:
    1144             :     case R600::LOG_IEEE_eg:
    1145             :     case R600::LOG_IEEE_r600:
    1146             :     case R600::MOV:
    1147             :     case R600::MOVA_INT_eg:
    1148             :     case R600::NOT_INT:
    1149             :     case R600::RECIPSQRT_CLAMPED_cm:
    1150             :     case R600::RECIPSQRT_CLAMPED_eg:
    1151             :     case R600::RECIPSQRT_CLAMPED_r600:
    1152             :     case R600::RECIPSQRT_IEEE_cm:
    1153             :     case R600::RECIPSQRT_IEEE_eg:
    1154             :     case R600::RECIPSQRT_IEEE_r600:
    1155             :     case R600::RECIP_CLAMPED_cm:
    1156             :     case R600::RECIP_CLAMPED_eg:
    1157             :     case R600::RECIP_CLAMPED_r600:
    1158             :     case R600::RECIP_IEEE_cm:
    1159             :     case R600::RECIP_IEEE_eg:
    1160             :     case R600::RECIP_IEEE_r600:
    1161             :     case R600::RECIP_UINT_eg:
    1162             :     case R600::RECIP_UINT_r600:
    1163             :     case R600::RNDNE:
    1164             :     case R600::SIN_cm:
    1165             :     case R600::SIN_eg:
    1166             :     case R600::SIN_r600:
    1167             :     case R600::SIN_r700:
    1168             :     case R600::TRUNC:
    1169             :     case R600::UINT_TO_FLT_eg:
    1170             :     case R600::UINT_TO_FLT_r600: {
    1171             :       // op: src0
    1172           0 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
    1173           0 :       Value |= (op & UINT64_C(1536)) << 1;
    1174           0 :       Value |= op & UINT64_C(511);
    1175             :       // op: src0_rel
    1176           0 :       op = getMachineOpValue(MI, MI.getOperand(7), Fixups, STI);
    1177           0 :       Value |= (op & UINT64_C(1)) << 9;
    1178             :       // op: pred_sel
    1179           0 :       op = getMachineOpValue(MI, MI.getOperand(11), Fixups, STI);
    1180           0 :       Value |= (op & UINT64_C(3)) << 29;
    1181             :       // op: last
    1182           0 :       op = getMachineOpValue(MI, MI.getOperand(10), Fixups, STI);
    1183           0 :       Value |= (op & UINT64_C(1)) << 31;
    1184             :       // op: src0_neg
    1185           0 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
    1186           0 :       Value |= (op & UINT64_C(1)) << 12;
    1187             :       // op: dst
    1188           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    1189           0 :       Value |= (op & UINT64_C(1536)) << 52;
    1190           0 :       Value |= (op & UINT64_C(127)) << 53;
    1191             :       // op: bank_swizzle
    1192           0 :       op = getMachineOpValue(MI, MI.getOperand(13), Fixups, STI);
    1193           0 :       Value |= (op & UINT64_C(7)) << 50;
    1194             :       // op: dst_rel
    1195           0 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    1196           0 :       Value |= (op & UINT64_C(1)) << 60;
    1197             :       // op: clamp
    1198           0 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    1199           0 :       Value |= (op & UINT64_C(1)) << 63;
    1200             :       // op: src0_abs
    1201           0 :       op = getMachineOpValue(MI, MI.getOperand(8), Fixups, STI);
    1202           0 :       Value |= (op & UINT64_C(1)) << 32;
    1203             :       // op: write
    1204           0 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    1205           0 :       Value |= (op & UINT64_C(1)) << 36;
    1206             :       // op: omod
    1207           0 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    1208           0 :       Value |= (op & UINT64_C(3)) << 37;
    1209           0 :       break;
    1210             :     }
    1211             :     case R600::ADD:
    1212             :     case R600::ADDC_UINT:
    1213             :     case R600::ADD_INT:
    1214             :     case R600::AND_INT:
    1215             :     case R600::ASHR_eg:
    1216             :     case R600::ASHR_r600:
    1217             :     case R600::BFM_INT_eg:
    1218             :     case R600::CUBE_eg_real:
    1219             :     case R600::CUBE_r600_real:
    1220             :     case R600::DOT4_eg:
    1221             :     case R600::DOT4_r600:
    1222             :     case R600::KILLGT:
    1223             :     case R600::LSHL_eg:
    1224             :     case R600::LSHL_r600:
    1225             :     case R600::LSHR_eg:
    1226             :     case R600::LSHR_r600:
    1227             :     case R600::MAX:
    1228             :     case R600::MAX_DX10:
    1229             :     case R600::MAX_INT:
    1230             :     case R600::MAX_UINT:
    1231             :     case R600::MIN:
    1232             :     case R600::MIN_DX10:
    1233             :     case R600::MIN_INT:
    1234             :     case R600::MIN_UINT:
    1235             :     case R600::MUL:
    1236             :     case R600::MULHI_INT_cm:
    1237             :     case R600::MULHI_INT_cm24:
    1238             :     case R600::MULHI_INT_eg:
    1239             :     case R600::MULHI_INT_r600:
    1240             :     case R600::MULHI_UINT24_eg:
    1241             :     case R600::MULHI_UINT_cm:
    1242             :     case R600::MULHI_UINT_cm24:
    1243             :     case R600::MULHI_UINT_eg:
    1244             :     case R600::MULHI_UINT_r600:
    1245             :     case R600::MULLO_INT_cm:
    1246             :     case R600::MULLO_INT_eg:
    1247             :     case R600::MULLO_INT_r600:
    1248             :     case R600::MULLO_UINT_cm:
    1249             :     case R600::MULLO_UINT_eg:
    1250             :     case R600::MULLO_UINT_r600:
    1251             :     case R600::MUL_IEEE:
    1252             :     case R600::MUL_INT24_cm:
    1253             :     case R600::MUL_UINT24_eg:
    1254             :     case R600::OR_INT:
    1255             :     case R600::PRED_SETE:
    1256             :     case R600::PRED_SETE_INT:
    1257             :     case R600::PRED_SETGE:
    1258             :     case R600::PRED_SETGE_INT:
    1259             :     case R600::PRED_SETGT:
    1260             :     case R600::PRED_SETGT_INT:
    1261             :     case R600::PRED_SETNE:
    1262             :     case R600::PRED_SETNE_INT:
    1263             :     case R600::SETE:
    1264             :     case R600::SETE_DX10:
    1265             :     case R600::SETE_INT:
    1266             :     case R600::SETGE_DX10:
    1267             :     case R600::SETGE_INT:
    1268             :     case R600::SETGE_UINT:
    1269             :     case R600::SETGT_DX10:
    1270             :     case R600::SETGT_INT:
    1271             :     case R600::SETGT_UINT:
    1272             :     case R600::SETNE_DX10:
    1273             :     case R600::SETNE_INT:
    1274             :     case R600::SGE:
    1275             :     case R600::SGT:
    1276             :     case R600::SNE:
    1277             :     case R600::SUBB_UINT:
    1278             :     case R600::SUB_INT:
    1279             :     case R600::XOR_INT: {
    1280             :       // op: src0
    1281           0 :       op = getMachineOpValue(MI, MI.getOperand(7), Fixups, STI);
    1282           0 :       Value |= (op & UINT64_C(1536)) << 1;
    1283           0 :       Value |= op & UINT64_C(511);
    1284             :       // op: src0_rel
    1285           0 :       op = getMachineOpValue(MI, MI.getOperand(9), Fixups, STI);
    1286           0 :       Value |= (op & UINT64_C(1)) << 9;
    1287             :       // op: src1
    1288           0 :       op = getMachineOpValue(MI, MI.getOperand(12), Fixups, STI);
    1289           0 :       Value |= (op & UINT64_C(1536)) << 14;
    1290           0 :       Value |= (op & UINT64_C(511)) << 13;
    1291             :       // op: src1_rel
    1292           0 :       op = getMachineOpValue(MI, MI.getOperand(14), Fixups, STI);
    1293           0 :       Value |= (op & UINT64_C(1)) << 22;
    1294             :       // op: pred_sel
    1295           0 :       op = getMachineOpValue(MI, MI.getOperand(18), Fixups, STI);
    1296           0 :       Value |= (op & UINT64_C(3)) << 29;
    1297             :       // op: last
    1298           0 :       op = getMachineOpValue(MI, MI.getOperand(17), Fixups, STI);
    1299           0 :       Value |= (op & UINT64_C(1)) << 31;
    1300             :       // op: src0_neg
    1301           0 :       op = getMachineOpValue(MI, MI.getOperand(8), Fixups, STI);
    1302           0 :       Value |= (op & UINT64_C(1)) << 12;
    1303             :       // op: src1_neg
    1304           0 :       op = getMachineOpValue(MI, MI.getOperand(13), Fixups, STI);
    1305           0 :       Value |= (op & UINT64_C(1)) << 25;
    1306             :       // op: dst
    1307           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    1308           0 :       Value |= (op & UINT64_C(1536)) << 52;
    1309           0 :       Value |= (op & UINT64_C(127)) << 53;
    1310             :       // op: bank_swizzle
    1311           0 :       op = getMachineOpValue(MI, MI.getOperand(20), Fixups, STI);
    1312           0 :       Value |= (op & UINT64_C(7)) << 50;
    1313             :       // op: dst_rel
    1314           0 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
    1315           0 :       Value |= (op & UINT64_C(1)) << 60;
    1316             :       // op: clamp
    1317           0 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
    1318           0 :       Value |= (op & UINT64_C(1)) << 63;
    1319             :       // op: src0_abs
    1320           0 :       op = getMachineOpValue(MI, MI.getOperand(10), Fixups, STI);
    1321           0 :       Value |= (op & UINT64_C(1)) << 32;
    1322             :       // op: src1_abs
    1323           0 :       op = getMachineOpValue(MI, MI.getOperand(15), Fixups, STI);
    1324           0 :       Value |= (op & UINT64_C(1)) << 33;
    1325             :       // op: update_exec_mask
    1326           0 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    1327           0 :       Value |= (op & UINT64_C(1)) << 34;
    1328             :       // op: update_pred
    1329           0 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    1330           0 :       Value |= (op & UINT64_C(1)) << 35;
    1331             :       // op: write
    1332           0 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    1333           0 :       Value |= (op & UINT64_C(1)) << 36;
    1334             :       // op: omod
    1335           0 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    1336           0 :       Value |= (op & UINT64_C(3)) << 37;
    1337           0 :       break;
    1338             :     }
    1339             :     case R600::INTERP_XY:
    1340             :     case R600::INTERP_ZW: {
    1341             :       // op: src0
    1342           0 :       op = getMachineOpValue(MI, MI.getOperand(7), Fixups, STI);
    1343           0 :       Value |= (op & UINT64_C(1536)) << 1;
    1344           0 :       Value |= op & UINT64_C(511);
    1345             :       // op: src0_rel
    1346           0 :       op = getMachineOpValue(MI, MI.getOperand(9), Fixups, STI);
    1347           0 :       Value |= (op & UINT64_C(1)) << 9;
    1348             :       // op: src1
    1349           0 :       op = getMachineOpValue(MI, MI.getOperand(12), Fixups, STI);
    1350           0 :       Value |= (op & UINT64_C(1536)) << 14;
    1351           0 :       Value |= (op & UINT64_C(511)) << 13;
    1352             :       // op: src1_rel
    1353           0 :       op = getMachineOpValue(MI, MI.getOperand(14), Fixups, STI);
    1354           0 :       Value |= (op & UINT64_C(1)) << 22;
    1355             :       // op: pred_sel
    1356           0 :       op = getMachineOpValue(MI, MI.getOperand(18), Fixups, STI);
    1357           0 :       Value |= (op & UINT64_C(3)) << 29;
    1358             :       // op: last
    1359           0 :       op = getMachineOpValue(MI, MI.getOperand(17), Fixups, STI);
    1360           0 :       Value |= (op & UINT64_C(1)) << 31;
    1361             :       // op: src0_neg
    1362           0 :       op = getMachineOpValue(MI, MI.getOperand(8), Fixups, STI);
    1363           0 :       Value |= (op & UINT64_C(1)) << 12;
    1364             :       // op: src1_neg
    1365           0 :       op = getMachineOpValue(MI, MI.getOperand(13), Fixups, STI);
    1366           0 :       Value |= (op & UINT64_C(1)) << 25;
    1367             :       // op: dst
    1368           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    1369           0 :       Value |= (op & UINT64_C(1536)) << 52;
    1370           0 :       Value |= (op & UINT64_C(127)) << 53;
    1371             :       // op: dst_rel
    1372           0 :       op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
    1373           0 :       Value |= (op & UINT64_C(1)) << 60;
    1374             :       // op: clamp
    1375           0 :       op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
    1376           0 :       Value |= (op & UINT64_C(1)) << 63;
    1377             :       // op: src0_abs
    1378           0 :       op = getMachineOpValue(MI, MI.getOperand(10), Fixups, STI);
    1379           0 :       Value |= (op & UINT64_C(1)) << 32;
    1380             :       // op: src1_abs
    1381           0 :       op = getMachineOpValue(MI, MI.getOperand(15), Fixups, STI);
    1382           0 :       Value |= (op & UINT64_C(1)) << 33;
    1383             :       // op: update_exec_mask
    1384           0 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    1385           0 :       Value |= (op & UINT64_C(1)) << 34;
    1386             :       // op: update_pred
    1387           0 :       op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
    1388           0 :       Value |= (op & UINT64_C(1)) << 35;
    1389             :       // op: write
    1390           0 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    1391           0 :       Value |= (op & UINT64_C(1)) << 36;
    1392             :       // op: omod
    1393           0 :       op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
    1394           0 :       Value |= (op & UINT64_C(3)) << 37;
    1395           0 :       break;
    1396             :     }
    1397             :     case R600::VTX_READ_128_cm:
    1398             :     case R600::VTX_READ_128_eg:
    1399             :     case R600::VTX_READ_16_cm:
    1400             :     case R600::VTX_READ_16_eg:
    1401             :     case R600::VTX_READ_32_cm:
    1402             :     case R600::VTX_READ_32_eg:
    1403             :     case R600::VTX_READ_64_cm:
    1404             :     case R600::VTX_READ_64_eg:
    1405             :     case R600::VTX_READ_8_cm:
    1406             :     case R600::VTX_READ_8_eg: {
    1407             :       // op: src_gpr
    1408           0 :       op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
    1409           0 :       Value |= (op & UINT64_C(127)) << 16;
    1410             :       // op: buffer_id
    1411           0 :       op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
    1412           0 :       Value |= (op & UINT64_C(255)) << 8;
    1413             :       // op: dst_gpr
    1414           0 :       op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
    1415           0 :       Value |= (op & UINT64_C(127)) << 32;
    1416           0 :       break;
    1417             :     }
    1418             :   default:
    1419             :     std::string msg;
    1420             :     raw_string_ostream Msg(msg);
    1421           0 :     Msg << "Not supported instr: " << MI;
    1422           0 :     report_fatal_error(Msg.str());
    1423             :   }
    1424           0 :   return Value;
    1425             : }
    1426             : 
    1427             : #ifdef ENABLE_INSTR_PREDICATE_VERIFIER
    1428             : #undef ENABLE_INSTR_PREDICATE_VERIFIER
    1429             : #include <sstream>
    1430             : 
    1431             : // Flags for subtarget features that participate in instruction matching.
    1432             : enum SubtargetFeatureFlag : uint8_t {
    1433             :   Feature_None = 0
    1434             : };
    1435             : 
    1436             : #ifndef NDEBUG
    1437             : static const char *SubtargetFeatureNames[] = {
    1438             :   nullptr
    1439             : };
    1440             : 
    1441             : #endif // NDEBUG
    1442           0 : uint64_t R600MCCodeEmitter::
    1443             : computeAvailableFeatures(const FeatureBitset& FB) const {
    1444             :   uint64_t Features = 0;
    1445           0 :   return Features;
    1446             : }
    1447             : 
    1448           0 : void R600MCCodeEmitter::verifyInstructionPredicates(
    1449             :     const MCInst &Inst, uint64_t AvailableFeatures) const {
    1450             : #ifndef NDEBUG
    1451             :   static uint64_t RequiredFeatures[] = {
    1452             :     0, // PHI = 0
    1453             :     0, // INLINEASM = 1
    1454             :     0, // CFI_INSTRUCTION = 2
    1455             :     0, // EH_LABEL = 3
    1456             :     0, // GC_LABEL = 4
    1457             :     0, // ANNOTATION_LABEL = 5
    1458             :     0, // KILL = 6
    1459             :     0, // EXTRACT_SUBREG = 7
    1460             :     0, // INSERT_SUBREG = 8
    1461             :     0, // IMPLICIT_DEF = 9
    1462             :     0, // SUBREG_TO_REG = 10
    1463             :     0, // COPY_TO_REGCLASS = 11
    1464             :     0, // DBG_VALUE = 12
    1465             :     0, // DBG_LABEL = 13
    1466             :     0, // REG_SEQUENCE = 14
    1467             :     0, // COPY = 15
    1468             :     0, // BUNDLE = 16
    1469             :     0, // LIFETIME_START = 17
    1470             :     0, // LIFETIME_END = 18
    1471             :     0, // STACKMAP = 19
    1472             :     0, // FENTRY_CALL = 20
    1473             :     0, // PATCHPOINT = 21
    1474             :     0, // LOAD_STACK_GUARD = 22
    1475             :     0, // STATEPOINT = 23
    1476             :     0, // LOCAL_ESCAPE = 24
    1477             :     0, // FAULTING_OP = 25
    1478             :     0, // PATCHABLE_OP = 26
    1479             :     0, // PATCHABLE_FUNCTION_ENTER = 27
    1480             :     0, // PATCHABLE_RET = 28
    1481             :     0, // PATCHABLE_FUNCTION_EXIT = 29
    1482             :     0, // PATCHABLE_TAIL_CALL = 30
    1483             :     0, // PATCHABLE_EVENT_CALL = 31
    1484             :     0, // PATCHABLE_TYPED_EVENT_CALL = 32
    1485             :     0, // ICALL_BRANCH_FUNNEL = 33
    1486             :     0, // G_ADD = 34
    1487             :     0, // G_SUB = 35
    1488             :     0, // G_MUL = 36
    1489             :     0, // G_SDIV = 37
    1490             :     0, // G_UDIV = 38
    1491             :     0, // G_SREM = 39
    1492             :     0, // G_UREM = 40
    1493             :     0, // G_AND = 41
    1494             :     0, // G_OR = 42
    1495             :     0, // G_XOR = 43
    1496             :     0, // G_IMPLICIT_DEF = 44
    1497             :     0, // G_PHI = 45
    1498             :     0, // G_FRAME_INDEX = 46
    1499             :     0, // G_GLOBAL_VALUE = 47
    1500             :     0, // G_EXTRACT = 48
    1501             :     0, // G_UNMERGE_VALUES = 49
    1502             :     0, // G_INSERT = 50
    1503             :     0, // G_MERGE_VALUES = 51
    1504             :     0, // G_PTRTOINT = 52
    1505             :     0, // G_INTTOPTR = 53
    1506             :     0, // G_BITCAST = 54
    1507             :     0, // G_INTRINSIC_TRUNC = 55
    1508             :     0, // G_INTRINSIC_ROUND = 56
    1509             :     0, // G_LOAD = 57
    1510             :     0, // G_SEXTLOAD = 58
    1511             :     0, // G_ZEXTLOAD = 59
    1512             :     0, // G_STORE = 60
    1513             :     0, // G_ATOMIC_CMPXCHG_WITH_SUCCESS = 61
    1514             :     0, // G_ATOMIC_CMPXCHG = 62
    1515             :     0, // G_ATOMICRMW_XCHG = 63
    1516             :     0, // G_ATOMICRMW_ADD = 64
    1517             :     0, // G_ATOMICRMW_SUB = 65
    1518             :     0, // G_ATOMICRMW_AND = 66
    1519             :     0, // G_ATOMICRMW_NAND = 67
    1520             :     0, // G_ATOMICRMW_OR = 68
    1521             :     0, // G_ATOMICRMW_XOR = 69
    1522             :     0, // G_ATOMICRMW_MAX = 70
    1523             :     0, // G_ATOMICRMW_MIN = 71
    1524             :     0, // G_ATOMICRMW_UMAX = 72
    1525             :     0, // G_ATOMICRMW_UMIN = 73
    1526             :     0, // G_BRCOND = 74
    1527             :     0, // G_BRINDIRECT = 75
    1528             :     0, // G_INTRINSIC = 76
    1529             :     0, // G_INTRINSIC_W_SIDE_EFFECTS = 77
    1530             :     0, // G_ANYEXT = 78
    1531             :     0, // G_TRUNC = 79
    1532             :     0, // G_CONSTANT = 80
    1533             :     0, // G_FCONSTANT = 81
    1534             :     0, // G_VASTART = 82
    1535             :     0, // G_VAARG = 83
    1536             :     0, // G_SEXT = 84
    1537             :     0, // G_ZEXT = 85
    1538             :     0, // G_SHL = 86
    1539             :     0, // G_LSHR = 87
    1540             :     0, // G_ASHR = 88
    1541             :     0, // G_ICMP = 89
    1542             :     0, // G_FCMP = 90
    1543             :     0, // G_SELECT = 91
    1544             :     0, // G_UADDO = 92
    1545             :     0, // G_UADDE = 93
    1546             :     0, // G_USUBO = 94
    1547             :     0, // G_USUBE = 95
    1548             :     0, // G_SADDO = 96
    1549             :     0, // G_SADDE = 97
    1550             :     0, // G_SSUBO = 98
    1551             :     0, // G_SSUBE = 99
    1552             :     0, // G_UMULO = 100
    1553             :     0, // G_SMULO = 101
    1554             :     0, // G_UMULH = 102
    1555             :     0, // G_SMULH = 103
    1556             :     0, // G_FADD = 104
    1557             :     0, // G_FSUB = 105
    1558             :     0, // G_FMUL = 106
    1559             :     0, // G_FMA = 107
    1560             :     0, // G_FDIV = 108
    1561             :     0, // G_FREM = 109
    1562             :     0, // G_FPOW = 110
    1563             :     0, // G_FEXP = 111
    1564             :     0, // G_FEXP2 = 112
    1565             :     0, // G_FLOG = 113
    1566             :     0, // G_FLOG2 = 114
    1567             :     0, // G_FNEG = 115
    1568             :     0, // G_FPEXT = 116
    1569             :     0, // G_FPTRUNC = 117
    1570             :     0, // G_FPTOSI = 118
    1571             :     0, // G_FPTOUI = 119
    1572             :     0, // G_SITOFP = 120
    1573             :     0, // G_UITOFP = 121
    1574             :     0, // G_FABS = 122
    1575             :     0, // G_GEP = 123
    1576             :     0, // G_PTR_MASK = 124
    1577             :     0, // G_BR = 125
    1578             :     0, // G_INSERT_VECTOR_ELT = 126
    1579             :     0, // G_EXTRACT_VECTOR_ELT = 127
    1580             :     0, // G_SHUFFLE_VECTOR = 128
    1581             :     0, // G_CTTZ = 129
    1582             :     0, // G_CTTZ_ZERO_UNDEF = 130
    1583             :     0, // G_CTLZ = 131
    1584             :     0, // G_CTLZ_ZERO_UNDEF = 132
    1585             :     0, // G_CTPOP = 133
    1586             :     0, // G_BSWAP = 134
    1587             :     0, // G_ADDRSPACE_CAST = 135
    1588             :     0, // G_BLOCK_ADDR = 136
    1589             :     0, // BRANCH = 137
    1590             :     0, // BRANCH_COND_f32 = 138
    1591             :     0, // BRANCH_COND_i32 = 139
    1592             :     0, // BREAK = 140
    1593             :     0, // BREAKC_f32 = 141
    1594             :     0, // BREAKC_i32 = 142
    1595             :     0, // BREAK_LOGICALNZ_f32 = 143
    1596             :     0, // BREAK_LOGICALNZ_i32 = 144
    1597             :     0, // BREAK_LOGICALZ_f32 = 145
    1598             :     0, // BREAK_LOGICALZ_i32 = 146
    1599             :     0, // CONST_COPY = 147
    1600             :     0, // CONTINUE = 148
    1601             :     0, // CONTINUEC_f32 = 149
    1602             :     0, // CONTINUEC_i32 = 150
    1603             :     0, // CONTINUE_LOGICALNZ_f32 = 151
    1604             :     0, // CONTINUE_LOGICALNZ_i32 = 152
    1605             :     0, // CONTINUE_LOGICALZ_f32 = 153
    1606             :     0, // CONTINUE_LOGICALZ_i32 = 154
    1607             :     0, // CUBE_eg_pseudo = 155
    1608             :     0, // CUBE_r600_pseudo = 156
    1609             :     0, // DEFAULT = 157
    1610             :     0, // DOT_4 = 158
    1611             :     0, // DUMMY_CHAIN = 159
    1612             :     0, // ELSE = 160
    1613             :     0, // END = 161
    1614             :     0, // ENDFUNC = 162
    1615             :     0, // ENDIF = 163
    1616             :     0, // ENDLOOP = 164
    1617             :     0, // ENDMAIN = 165
    1618             :     0, // ENDSWITCH = 166
    1619             :     0, // FABS_R600 = 167
    1620             :     0, // FNEG_R600 = 168
    1621             :     0, // FUNC = 169
    1622             :     0, // IFC_f32 = 170
    1623             :     0, // IFC_i32 = 171
    1624             :     0, // IF_LOGICALNZ_f32 = 172
    1625             :     0, // IF_LOGICALNZ_i32 = 173
    1626             :     0, // IF_LOGICALZ_f32 = 174
    1627             :     0, // IF_LOGICALZ_i32 = 175
    1628             :     0, // IF_PREDICATE_SET = 176
    1629             :     0, // JUMP = 177
    1630             :     0, // JUMP_COND = 178
    1631             :     0, // MASK_WRITE = 179
    1632             :     0, // MOV_IMM_F32 = 180
    1633             :     0, // MOV_IMM_GLOBAL_ADDR = 181
    1634             :     0, // MOV_IMM_I32 = 182
    1635             :     0, // PRED_X = 183
    1636             :     0, // R600_EXTRACT_ELT_V2 = 184
    1637             :     0, // R600_EXTRACT_ELT_V4 = 185
    1638             :     0, // R600_INSERT_ELT_V2 = 186
    1639             :     0, // R600_INSERT_ELT_V4 = 187
    1640             :     0, // R600_RegisterLoad = 188
    1641             :     0, // R600_RegisterStore = 189
    1642             :     0, // RETDYN = 190
    1643             :     0, // RETURN = 191
    1644             :     0, // TXD = 192
    1645             :     0, // TXD_SHADOW = 193
    1646             :     0, // WHILELOOP = 194
    1647             :     0, // ADD = 195
    1648             :     0, // ADDC_UINT = 196
    1649             :     0, // ADD_INT = 197
    1650             :     0, // ALU_CLAUSE = 198
    1651             :     0, // AND_INT = 199
    1652             :     0, // ASHR_eg = 200
    1653             :     0, // ASHR_r600 = 201
    1654             :     0, // BCNT_INT = 202
    1655             :     0, // BFE_INT_eg = 203
    1656             :     0, // BFE_UINT_eg = 204
    1657             :     0, // BFI_INT_eg = 205
    1658             :     0, // BFM_INT_eg = 206
    1659             :     0, // BIT_ALIGN_INT_eg = 207
    1660             :     0, // CEIL = 208
    1661             :     0, // CF_ALU = 209
    1662             :     0, // CF_ALU_BREAK = 210
    1663             :     0, // CF_ALU_CONTINUE = 211
    1664             :     0, // CF_ALU_ELSE_AFTER = 212
    1665             :     0, // CF_ALU_POP_AFTER = 213
    1666             :     0, // CF_ALU_PUSH_BEFORE = 214
    1667             :     0, // CF_CALL_FS_EG = 215
    1668             :     0, // CF_CALL_FS_R600 = 216
    1669             :     0, // CF_CONTINUE_EG = 217
    1670             :     0, // CF_CONTINUE_R600 = 218
    1671             :     0, // CF_ELSE_EG = 219
    1672             :     0, // CF_ELSE_R600 = 220
    1673             :     0, // CF_END_CM = 221
    1674             :     0, // CF_END_EG = 222
    1675             :     0, // CF_END_R600 = 223
    1676             :     0, // CF_JUMP_EG = 224
    1677             :     0, // CF_JUMP_R600 = 225
    1678             :     0, // CF_PUSH_EG = 226
    1679             :     0, // CF_PUSH_ELSE_R600 = 227
    1680             :     0, // CF_TC_EG = 228
    1681             :     0, // CF_TC_R600 = 229
    1682             :     0, // CF_VC_EG = 230
    1683             :     0, // CF_VC_R600 = 231
    1684             :     0, // CNDE_INT = 232
    1685             :     0, // CNDE_eg = 233
    1686             :     0, // CNDE_r600 = 234
    1687             :     0, // CNDGE_INT = 235
    1688             :     0, // CNDGE_eg = 236
    1689             :     0, // CNDGE_r600 = 237
    1690             :     0, // CNDGT_INT = 238
    1691             :     0, // CNDGT_eg = 239
    1692             :     0, // CNDGT_r600 = 240
    1693             :     0, // COS_cm = 241
    1694             :     0, // COS_eg = 242
    1695             :     0, // COS_r600 = 243
    1696             :     0, // COS_r700 = 244
    1697             :     0, // CUBE_eg_real = 245
    1698             :     0, // CUBE_r600_real = 246
    1699             :     0, // DOT4_eg = 247
    1700             :     0, // DOT4_r600 = 248
    1701             :     0, // EG_ExportBuf = 249
    1702             :     0, // EG_ExportSwz = 250
    1703             :     0, // END_LOOP_EG = 251
    1704             :     0, // END_LOOP_R600 = 252
    1705             :     0, // EXP_IEEE_cm = 253
    1706             :     0, // EXP_IEEE_eg = 254
    1707             :     0, // EXP_IEEE_r600 = 255
    1708             :     0, // FETCH_CLAUSE = 256
    1709             :     0, // FFBH_UINT = 257
    1710             :     0, // FFBL_INT = 258
    1711             :     0, // FLOOR = 259
    1712             :     0, // FLT16_TO_FLT32 = 260
    1713             :     0, // FLT32_TO_FLT16 = 261
    1714             :     0, // FLT_TO_INT_eg = 262
    1715             :     0, // FLT_TO_INT_r600 = 263
    1716             :     0, // FLT_TO_UINT_eg = 264
    1717             :     0, // FLT_TO_UINT_r600 = 265
    1718             :     0, // FMA_eg = 266
    1719             :     0, // FRACT = 267
    1720             :     0, // GROUP_BARRIER = 268
    1721             :     0, // INTERP_LOAD_P0 = 269
    1722             :     0, // INTERP_PAIR_XY = 270
    1723             :     0, // INTERP_PAIR_ZW = 271
    1724             :     0, // INTERP_VEC_LOAD = 272
    1725             :     0, // INTERP_XY = 273
    1726             :     0, // INTERP_ZW = 274
    1727             :     0, // INT_TO_FLT_eg = 275
    1728             :     0, // INT_TO_FLT_r600 = 276
    1729             :     0, // KILLGT = 277
    1730             :     0, // LDS_ADD = 278
    1731             :     0, // LDS_ADD_RET = 279
    1732             :     0, // LDS_AND = 280
    1733             :     0, // LDS_AND_RET = 281
    1734             :     0, // LDS_BYTE_READ_RET = 282
    1735             :     0, // LDS_BYTE_WRITE = 283
    1736             :     0, // LDS_CMPST = 284
    1737             :     0, // LDS_CMPST_RET = 285
    1738             :     0, // LDS_MAX_INT = 286
    1739             :     0, // LDS_MAX_INT_RET = 287
    1740             :     0, // LDS_MAX_UINT = 288
    1741             :     0, // LDS_MAX_UINT_RET = 289
    1742             :     0, // LDS_MIN_INT = 290
    1743             :     0, // LDS_MIN_INT_RET = 291
    1744             :     0, // LDS_MIN_UINT = 292
    1745             :     0, // LDS_MIN_UINT_RET = 293
    1746             :     0, // LDS_OR = 294
    1747             :     0, // LDS_OR_RET = 295
    1748             :     0, // LDS_READ_RET = 296
    1749             :     0, // LDS_SHORT_READ_RET = 297
    1750             :     0, // LDS_SHORT_WRITE = 298
    1751             :     0, // LDS_SUB = 299
    1752             :     0, // LDS_SUB_RET = 300
    1753             :     0, // LDS_UBYTE_READ_RET = 301
    1754             :     0, // LDS_USHORT_READ_RET = 302
    1755             :     0, // LDS_WRITE = 303
    1756             :     0, // LDS_WRXCHG = 304
    1757             :     0, // LDS_WRXCHG_RET = 305
    1758             :     0, // LDS_XOR = 306
    1759             :     0, // LDS_XOR_RET = 307
    1760             :     0, // LITERALS = 308
    1761             :     0, // LOG_CLAMPED_eg = 309
    1762             :     0, // LOG_CLAMPED_r600 = 310
    1763             :     0, // LOG_IEEE_cm = 311
    1764             :     0, // LOG_IEEE_eg = 312
    1765             :     0, // LOG_IEEE_r600 = 313
    1766             :     0, // LOOP_BREAK_EG = 314
    1767             :     0, // LOOP_BREAK_R600 = 315
    1768             :     0, // LSHL_eg = 316
    1769             :     0, // LSHL_r600 = 317
    1770             :     0, // LSHR_eg = 318
    1771             :     0, // LSHR_r600 = 319
    1772             :     0, // MAX = 320
    1773             :     0, // MAX_DX10 = 321
    1774             :     0, // MAX_INT = 322
    1775             :     0, // MAX_UINT = 323
    1776             :     0, // MIN = 324
    1777             :     0, // MIN_DX10 = 325
    1778             :     0, // MIN_INT = 326
    1779             :     0, // MIN_UINT = 327
    1780             :     0, // MOV = 328
    1781             :     0, // MOVA_INT_eg = 329
    1782             :     0, // MUL = 330
    1783             :     0, // MULADD_IEEE_eg = 331
    1784             :     0, // MULADD_IEEE_r600 = 332
    1785             :     0, // MULADD_INT24_cm = 333
    1786             :     0, // MULADD_UINT24_eg = 334
    1787             :     0, // MULADD_eg = 335
    1788             :     0, // MULADD_r600 = 336
    1789             :     0, // MULHI_INT_cm = 337
    1790             :     0, // MULHI_INT_cm24 = 338
    1791             :     0, // MULHI_INT_eg = 339
    1792             :     0, // MULHI_INT_r600 = 340
    1793             :     0, // MULHI_UINT24_eg = 341
    1794             :     0, // MULHI_UINT_cm = 342
    1795             :     0, // MULHI_UINT_cm24 = 343
    1796             :     0, // MULHI_UINT_eg = 344
    1797             :     0, // MULHI_UINT_r600 = 345
    1798             :     0, // MULLO_INT_cm = 346
    1799             :     0, // MULLO_INT_eg = 347
    1800             :     0, // MULLO_INT_r600 = 348
    1801             :     0, // MULLO_UINT_cm = 349
    1802             :     0, // MULLO_UINT_eg = 350
    1803             :     0, // MULLO_UINT_r600 = 351
    1804             :     0, // MUL_IEEE = 352
    1805             :     0, // MUL_INT24_cm = 353
    1806             :     0, // MUL_LIT_eg = 354
    1807             :     0, // MUL_LIT_r600 = 355
    1808             :     0, // MUL_UINT24_eg = 356
    1809             :     0, // NOT_INT = 357
    1810             :     0, // OR_INT = 358
    1811             :     0, // PAD = 359
    1812             :     0, // POP_EG = 360
    1813             :     0, // POP_R600 = 361
    1814             :     0, // PRED_SETE = 362
    1815             :     0, // PRED_SETE_INT = 363
    1816             :     0, // PRED_SETGE = 364
    1817             :     0, // PRED_SETGE_INT = 365
    1818             :     0, // PRED_SETGT = 366
    1819             :     0, // PRED_SETGT_INT = 367
    1820             :     0, // PRED_SETNE = 368
    1821             :     0, // PRED_SETNE_INT = 369
    1822             :     0, // R600_ExportBuf = 370
    1823             :     0, // R600_ExportSwz = 371
    1824             :     0, // RAT_ATOMIC_ADD_NORET = 372
    1825             :     0, // RAT_ATOMIC_ADD_RTN = 373
    1826             :     0, // RAT_ATOMIC_AND_NORET = 374
    1827             :     0, // RAT_ATOMIC_AND_RTN = 375
    1828             :     0, // RAT_ATOMIC_CMPXCHG_INT_NORET = 376
    1829             :     0, // RAT_ATOMIC_CMPXCHG_INT_RTN = 377
    1830             :     0, // RAT_ATOMIC_DEC_UINT_NORET = 378
    1831             :     0, // RAT_ATOMIC_DEC_UINT_RTN = 379
    1832             :     0, // RAT_ATOMIC_INC_UINT_NORET = 380
    1833             :     0, // RAT_ATOMIC_INC_UINT_RTN = 381
    1834             :     0, // RAT_ATOMIC_MAX_INT_NORET = 382
    1835             :     0, // RAT_ATOMIC_MAX_INT_RTN = 383
    1836             :     0, // RAT_ATOMIC_MAX_UINT_NORET = 384
    1837             :     0, // RAT_ATOMIC_MAX_UINT_RTN = 385
    1838             :     0, // RAT_ATOMIC_MIN_INT_NORET = 386
    1839             :     0, // RAT_ATOMIC_MIN_INT_RTN = 387
    1840             :     0, // RAT_ATOMIC_MIN_UINT_NORET = 388
    1841             :     0, // RAT_ATOMIC_MIN_UINT_RTN = 389
    1842             :     0, // RAT_ATOMIC_OR_NORET = 390
    1843             :     0, // RAT_ATOMIC_OR_RTN = 391
    1844             :     0, // RAT_ATOMIC_RSUB_NORET = 392
    1845             :     0, // RAT_ATOMIC_RSUB_RTN = 393
    1846             :     0, // RAT_ATOMIC_SUB_NORET = 394
    1847             :     0, // RAT_ATOMIC_SUB_RTN = 395
    1848             :     0, // RAT_ATOMIC_XCHG_INT_NORET = 396
    1849             :     0, // RAT_ATOMIC_XCHG_INT_RTN = 397
    1850             :     0, // RAT_ATOMIC_XOR_NORET = 398
    1851             :     0, // RAT_ATOMIC_XOR_RTN = 399
    1852             :     0, // RAT_MSKOR = 400
    1853             :     0, // RAT_STORE_DWORD128 = 401
    1854             :     0, // RAT_STORE_DWORD32 = 402
    1855             :     0, // RAT_STORE_DWORD64 = 403
    1856             :     0, // RAT_STORE_TYPED_cm = 404
    1857             :     0, // RAT_STORE_TYPED_eg = 405
    1858             :     0, // RAT_WRITE_CACHELESS_128_eg = 406
    1859             :     0, // RAT_WRITE_CACHELESS_32_eg = 407
    1860             :     0, // RAT_WRITE_CACHELESS_64_eg = 408
    1861             :     0, // RECIPSQRT_CLAMPED_cm = 409
    1862             :     0, // RECIPSQRT_CLAMPED_eg = 410
    1863             :     0, // RECIPSQRT_CLAMPED_r600 = 411
    1864             :     0, // RECIPSQRT_IEEE_cm = 412
    1865             :     0, // RECIPSQRT_IEEE_eg = 413
    1866             :     0, // RECIPSQRT_IEEE_r600 = 414
    1867             :     0, // RECIP_CLAMPED_cm = 415
    1868             :     0, // RECIP_CLAMPED_eg = 416
    1869             :     0, // RECIP_CLAMPED_r600 = 417
    1870             :     0, // RECIP_IEEE_cm = 418
    1871             :     0, // RECIP_IEEE_eg = 419
    1872             :     0, // RECIP_IEEE_r600 = 420
    1873             :     0, // RECIP_UINT_eg = 421
    1874             :     0, // RECIP_UINT_r600 = 422
    1875             :     0, // RNDNE = 423
    1876             :     0, // SETE = 424
    1877             :     0, // SETE_DX10 = 425
    1878             :     0, // SETE_INT = 426
    1879             :     0, // SETGE_DX10 = 427
    1880             :     0, // SETGE_INT = 428
    1881             :     0, // SETGE_UINT = 429
    1882             :     0, // SETGT_DX10 = 430
    1883             :     0, // SETGT_INT = 431
    1884             :     0, // SETGT_UINT = 432
    1885             :     0, // SETNE_DX10 = 433
    1886             :     0, // SETNE_INT = 434
    1887             :     0, // SGE = 435
    1888             :     0, // SGT = 436
    1889             :     0, // SIN_cm = 437
    1890             :     0, // SIN_eg = 438
    1891             :     0, // SIN_r600 = 439
    1892             :     0, // SIN_r700 = 440
    1893             :     0, // SNE = 441
    1894             :     0, // SUBB_UINT = 442
    1895             :     0, // SUB_INT = 443
    1896             :     0, // TEX_GET_GRADIENTS_H = 444
    1897             :     0, // TEX_GET_GRADIENTS_V = 445
    1898             :     0, // TEX_GET_TEXTURE_RESINFO = 446
    1899             :     0, // TEX_LD = 447
    1900             :     0, // TEX_LDPTR = 448
    1901             :     0, // TEX_SAMPLE = 449
    1902             :     0, // TEX_SAMPLE_C = 450
    1903             :     0, // TEX_SAMPLE_C_G = 451
    1904             :     0, // TEX_SAMPLE_C_L = 452
    1905             :     0, // TEX_SAMPLE_C_LB = 453
    1906             :     0, // TEX_SAMPLE_G = 454
    1907             :     0, // TEX_SAMPLE_L = 455
    1908             :     0, // TEX_SAMPLE_LB = 456
    1909             :     0, // TEX_SET_GRADIENTS_H = 457
    1910             :     0, // TEX_SET_GRADIENTS_V = 458
    1911             :     0, // TEX_VTX_CONSTBUF = 459
    1912             :     0, // TEX_VTX_TEXBUF = 460
    1913             :     0, // TRUNC = 461
    1914             :     0, // UINT_TO_FLT_eg = 462
    1915             :     0, // UINT_TO_FLT_r600 = 463
    1916             :     0, // VTX_READ_128_cm = 464
    1917             :     0, // VTX_READ_128_eg = 465
    1918             :     0, // VTX_READ_16_cm = 466
    1919             :     0, // VTX_READ_16_eg = 467
    1920             :     0, // VTX_READ_32_cm = 468
    1921             :     0, // VTX_READ_32_eg = 469
    1922             :     0, // VTX_READ_64_cm = 470
    1923             :     0, // VTX_READ_64_eg = 471
    1924             :     0, // VTX_READ_8_cm = 472
    1925             :     0, // VTX_READ_8_eg = 473
    1926             :     0, // WHILE_LOOP_EG = 474
    1927             :     0, // WHILE_LOOP_R600 = 475
    1928             :     0, // XOR_INT = 476
    1929             :   };
    1930             : 
    1931             :   assert(Inst.getOpcode() < 477);
    1932             :   uint64_t MissingFeatures =
    1933             :       (AvailableFeatures & RequiredFeatures[Inst.getOpcode()]) ^
    1934             :       RequiredFeatures[Inst.getOpcode()];
    1935             :   if (MissingFeatures) {
    1936             :     std::ostringstream Msg;
    1937             :     Msg << "Attempting to emit " << MCII.getName(Inst.getOpcode()).str()
    1938             :         << " instruction but the ";
    1939             :     for (unsigned i = 0; i < 8 * sizeof(MissingFeatures); ++i)
    1940             :       if (MissingFeatures & (1ULL << i))
    1941             :         Msg << SubtargetFeatureNames[i] << " ";
    1942             :     Msg << "predicate(s) are not met";
    1943             :     report_fatal_error(Msg.str());
    1944             :   }
    1945             : #else
    1946             : // Silence unused variable warning on targets that don't use MCII for other purposes (e.g. BPF).
    1947             : (void)MCII;
    1948             : #endif // NDEBUG
    1949           0 : }
    1950             : #endif

Generated by: LCOV version 1.13