uint64_t SystemZMCCodeEmitter::getBinaryCodeForInstr(const MCInst &MI,
SmallVectorImpl<MCFixup> &Fixups,
const MCSubtargetInfo &STI) const {
static const uint64_t InstBits[] = {
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(1509949440), UINT64_C(260584255782938), UINT64_C(3004825600), UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(260584255782922), UINT64_C(3003777024), UINT64_C(0),
UINT64_C(213343910494208), UINT64_C(0),
UINT64_C(249589139505160), UINT64_C(249589139505176), UINT64_C(213339615526912), UINT64_C(3105357824), UINT64_C(2802515968), UINT64_C(259484744155353), UINT64_C(3104309248), UINT64_C(3118989312), UINT64_C(258385232527482), UINT64_C(1241513984), UINT64_C(2802450432), UINT64_C(259484744155352), UINT64_C(0),
UINT64_C(0),
UINT64_C(249589139505274), UINT64_C(224334731804672), UINT64_C(1577058304), UINT64_C(249589139505304), UINT64_C(249589139505288), UINT64_C(3112697856), UINT64_C(3113746432), UINT64_C(213352500428800), UINT64_C(249589139505162), UINT64_C(249589139505178), UINT64_C(213348205461504), UINT64_C(3105488896), UINT64_C(259484744155355), UINT64_C(3104440320), UINT64_C(3119120384), UINT64_C(259484744155354), UINT64_C(7680), UINT64_C(3120168960), UINT64_C(249589139505246), UINT64_C(6656), UINT64_C(3120037888), UINT64_C(258385232527466), UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(3007971328), UINT64_C(249589139505242), UINT64_C(1792), UINT64_C(2802057216), UINT64_C(211123412402176), UINT64_C(259484744155260), UINT64_C(259484744155236), UINT64_C(259484744155262), UINT64_C(259484744155261), UINT64_C(259484744155237), UINT64_C(259484744155263), UINT64_C(259484744155255), UINT64_C(259484744155254), UINT64_C(1920), UINT64_C(2810445824), UINT64_C(211673168216064), UINT64_C(258419592265970), UINT64_C(258419592265954), UINT64_C(3118628864), UINT64_C(3119677440), UINT64_C(258419592265971), UINT64_C(258419592265955), UINT64_C(1824), UINT64_C(1952), UINT64_C(2812542976), UINT64_C(211810607169536), UINT64_C(258428182200562), UINT64_C(258428182200546), UINT64_C(3118637056), UINT64_C(3119685632), UINT64_C(258428182200563), UINT64_C(258428182200547), UINT64_C(2804154368), UINT64_C(211260851355648), UINT64_C(258393822462194), UINT64_C(258393822462178), UINT64_C(3118604288), UINT64_C(3119652864), UINT64_C(258393822462195), UINT64_C(258393822462179), UINT64_C(259519103893628), UINT64_C(259484744188004), UINT64_C(259519103893630), UINT64_C(259519103893629), UINT64_C(259484744188005), UINT64_C(259519103893631), UINT64_C(259484744188023), UINT64_C(259484744188022), UINT64_C(259519103893628), UINT64_C(259484744188004), UINT64_C(259519103893630), UINT64_C(259519103893629), UINT64_C(259484744188005), UINT64_C(259519103893631), UINT64_C(259484744188023), UINT64_C(259484744188022), UINT64_C(259493334089852), UINT64_C(259484744163428), UINT64_C(259493334089854), UINT64_C(259493334089853), UINT64_C(259484744163429), UINT64_C(259493334089855), UINT64_C(259484744163447), UINT64_C(259484744163446), UINT64_C(259493334089852), UINT64_C(259484744163428), UINT64_C(259493334089854), UINT64_C(259493334089853), UINT64_C(259484744163429), UINT64_C(259493334089855), UINT64_C(259484744163447), UINT64_C(259484744163446), UINT64_C(259527693828220), UINT64_C(259484744196196), UINT64_C(259527693828222), UINT64_C(259527693828221), UINT64_C(259484744196197), UINT64_C(259527693828223), UINT64_C(259484744196215), UINT64_C(259484744196214), UINT64_C(259527693828220), UINT64_C(259484744196196), UINT64_C(259527693828222), UINT64_C(259527693828221), UINT64_C(259484744196197), UINT64_C(259527693828223), UINT64_C(259484744196215), UINT64_C(259484744196214), UINT64_C(259501924024444), UINT64_C(259484744171620), UINT64_C(259501924024446), UINT64_C(259501924024445), UINT64_C(259484744171621), UINT64_C(259501924024447), UINT64_C(259484744171639), UINT64_C(259484744171638), UINT64_C(259501924024444), UINT64_C(259484744171620), UINT64_C(259501924024446), UINT64_C(259501924024445), UINT64_C(259484744171621), UINT64_C(259501924024447), UINT64_C(259484744171639), UINT64_C(259484744171638), UINT64_C(259536283762812), UINT64_C(259484744204388), UINT64_C(259536283762814), UINT64_C(259536283762813), UINT64_C(259484744204389), UINT64_C(259536283762815), UINT64_C(259484744204407), UINT64_C(259484744204406), UINT64_C(259536283762812), UINT64_C(259484744204388), UINT64_C(259536283762814), UINT64_C(259536283762813), UINT64_C(259484744204389), UINT64_C(259536283762815), UINT64_C(259484744204407), UINT64_C(259484744204406), UINT64_C(259510513959036), UINT64_C(259484744179812), UINT64_C(259510513959038), UINT64_C(259510513959037), UINT64_C(259484744179813), UINT64_C(259510513959039), UINT64_C(259484744179831), UINT64_C(259484744179830), UINT64_C(259510513959036), UINT64_C(259484744179812), UINT64_C(259510513959038), UINT64_C(259510513959037), UINT64_C(259484744179813), UINT64_C(259510513959039), UINT64_C(259484744179831), UINT64_C(259484744179830), UINT64_C(1856), UINT64_C(1984), UINT64_C(2814640128), UINT64_C(211948046123008), UINT64_C(258436772135154), UINT64_C(258436772135138), UINT64_C(3118645248), UINT64_C(3119693824), UINT64_C(258436772135155), UINT64_C(258436772135139), UINT64_C(1888), UINT64_C(2808348672), UINT64_C(211535729262592), UINT64_C(258411002331378), UINT64_C(258411002331362), UINT64_C(3118620672), UINT64_C(3119669248), UINT64_C(258411002331379), UINT64_C(258411002331363), UINT64_C(2806251520), UINT64_C(211398290309120), UINT64_C(258402412396786), UINT64_C(258402412396770), UINT64_C(3118612480), UINT64_C(3119661056), UINT64_C(258385232527602), UINT64_C(258385232527586), UINT64_C(3118596096), UINT64_C(3119644672), UINT64_C(258402412396787), UINT64_C(258402412396771), UINT64_C(1904), UINT64_C(2809397248), UINT64_C(211604448739328), UINT64_C(258415297298674), UINT64_C(258415297298658), UINT64_C(3118624768), UINT64_C(3119673344), UINT64_C(258415297298675), UINT64_C(258415297298659), UINT64_C(2000), UINT64_C(1872), UINT64_C(2807300096), UINT64_C(211467009785856), UINT64_C(258406707364082), UINT64_C(258406707364066), UINT64_C(3118616576), UINT64_C(3119665152), UINT64_C(258406707364083), UINT64_C(258406707364067), UINT64_C(2815688704), UINT64_C(212016765599744), UINT64_C(258441067102450), UINT64_C(258441067102434), UINT64_C(3118649344), UINT64_C(3119697920), UINT64_C(258441067102451), UINT64_C(258441067102435), UINT64_C(1968), UINT64_C(1840), UINT64_C(2805202944), UINT64_C(211329570832384), UINT64_C(258398117429490), UINT64_C(258398117429474), UINT64_C(3118608384), UINT64_C(3119656960), UINT64_C(258398117429491), UINT64_C(258398117429475), UINT64_C(1936), UINT64_C(2811494400), UINT64_C(211741887692800), UINT64_C(258423887233266), UINT64_C(258423887233250), UINT64_C(3118632960), UINT64_C(3119681536), UINT64_C(258423887233267), UINT64_C(258423887233251), UINT64_C(2813591552), UINT64_C(211879326646272), UINT64_C(258432477167858), UINT64_C(258432477167842), UINT64_C(3118641152), UINT64_C(3119689728), UINT64_C(258432477167859), UINT64_C(258432477167843), UINT64_C(2016), UINT64_C(2816737280), UINT64_C(212085485076480), UINT64_C(258445362069746), UINT64_C(258445362069730), UINT64_C(3118653440), UINT64_C(3119702016), UINT64_C(258445362069747), UINT64_C(258445362069731), UINT64_C(1808), UINT64_C(2803105792), UINT64_C(211192131878912), UINT64_C(258389527494898), UINT64_C(258389527494882), UINT64_C(3118600192), UINT64_C(3119648768), UINT64_C(258389527494899), UINT64_C(258389527494883), UINT64_C(258385232527603), UINT64_C(258385232527587), UINT64_C(3328), UINT64_C(2032), UINT64_C(2802122752), UINT64_C(211127707369472), UINT64_C(2802057216), UINT64_C(211123412402176), UINT64_C(2802188288), UINT64_C(2802253824), UINT64_C(1493172224), UINT64_C(260584255782937), UINT64_C(3004760064), UINT64_C(3012886528), UINT64_C(3013935104), UINT64_C(3012624384), UINT64_C(3013672960), UINT64_C(260584255782921), UINT64_C(3003711488), UINT64_C(3012820992), UINT64_C(3013869568), UINT64_C(3012558848), UINT64_C(3013607424), UINT64_C(3013148672), UINT64_C(3013083136), UINT64_C(213361090363392), UINT64_C(0),
UINT64_C(3013214208), UINT64_C(249589139505184), UINT64_C(3014197248), UINT64_C(3014131712), UINT64_C(249589139505200), UINT64_C(213356795396096), UINT64_C(3106930688), UINT64_C(217754841907200), UINT64_C(249589139505204), UINT64_C(2802778112), UINT64_C(217720482168832), UINT64_C(252166119882752), UINT64_C(259484744155260), UINT64_C(3105882112), UINT64_C(259484744155236), UINT64_C(217737662038016), UINT64_C(3014262784), UINT64_C(1224736768), UINT64_C(249589139505357), UINT64_C(252148940013568), UINT64_C(2802712576), UINT64_C(217724777136128), UINT64_C(252183299751936), UINT64_C(249589139505273), UINT64_C(224356206641152), UINT64_C(259484744155262), UINT64_C(1426063360), UINT64_C(234195976716288), UINT64_C(0),
UINT64_C(0),
UINT64_C(3013410816), UINT64_C(3013345280), UINT64_C(252187594719232), UINT64_C(213369680297984), UINT64_C(0),
UINT64_C(3013476352), UINT64_C(249589139505185), UINT64_C(3014459392), UINT64_C(3014393856), UINT64_C(249589139505201), UINT64_C(213365385330688), UINT64_C(3106996224), UINT64_C(217763431841792), UINT64_C(217729072103424), UINT64_C(252170414850048), UINT64_C(259484744155261), UINT64_C(3105947648), UINT64_C(259484744155237), UINT64_C(217746251972608), UINT64_C(3014524928), UINT64_C(249589139505359), UINT64_C(252153234980864), UINT64_C(217733367070720), UINT64_C(2499805184), UINT64_C(224364796575744), UINT64_C(259484744155263), UINT64_C(258385232527445), UINT64_C(0),
UINT64_C(5376), UINT64_C(259484744155255), UINT64_C(217767726809088), UINT64_C(2992439296), UINT64_C(0),
UINT64_C(249589139505237), UINT64_C(0),
UINT64_C(3010592768), UINT64_C(3010592768), UINT64_C(3010592768), UINT64_C(3010592768), UINT64_C(6400), UINT64_C(259484744155254), UINT64_C(217759136874496), UINT64_C(3120562176), UINT64_C(258385232527408), UINT64_C(258385232527380), UINT64_C(3007905792), UINT64_C(3012952064), UINT64_C(3014000640), UINT64_C(3012689920), UINT64_C(3013738496), UINT64_C(249589139505241), UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(260584255782941), UINT64_C(3005022208), UINT64_C(260584255782925), UINT64_C(3003973632), UINT64_C(249589139505303), UINT64_C(249589139505287), UINT64_C(3112632320), UINT64_C(3113680896), UINT64_C(249589139505165), UINT64_C(249589139505181), UINT64_C(3105685504), UINT64_C(3104636928), UINT64_C(3008167936), UINT64_C(2991521792), UINT64_C(3001810944), UINT64_C(3009347584), UINT64_C(3009347584), UINT64_C(3008823296), UINT64_C(3008823296), UINT64_C(3007774720), UINT64_C(3007774720), UINT64_C(3112370176), UINT64_C(0),
UINT64_C(1124073472), UINT64_C(1124073472), UINT64_C(249589139505267), UINT64_C(249589139505267), UINT64_C(0),
UINT64_C(211140592271360), UINT64_C(0),
UINT64_C(2768240640), UINT64_C(0),
UINT64_C(2768306176), UINT64_C(0),
UINT64_C(0),
UINT64_C(211144887238656), UINT64_C(0),
UINT64_C(2768371712), UINT64_C(0),
UINT64_C(2768437248), UINT64_C(0),
UINT64_C(0),
UINT64_C(2988572672), UINT64_C(2817785856), UINT64_C(212154204553216), UINT64_C(1476395008), UINT64_C(0),
UINT64_C(1090519040), UINT64_C(258385232527608), UINT64_C(258385232527592), UINT64_C(258385232527610), UINT64_C(258385232527594), UINT64_C(258385232527604), UINT64_C(258385232527588), UINT64_C(258385232527606), UINT64_C(258385232527590), UINT64_C(211106232532992), UINT64_C(258385232527607), UINT64_C(258385232527591), UINT64_C(249589139505265), UINT64_C(249589139505270), UINT64_C(249589139505344), UINT64_C(0),
UINT64_C(3106275328), UINT64_C(253987186016295), UINT64_C(3004366848), UINT64_C(3010658304), UINT64_C(3010658304), UINT64_C(3003318272), UINT64_C(3105030144), UINT64_C(3103981568), UINT64_C(4864), UINT64_C(3007512576), UINT64_C(1744830464), UINT64_C(260584255782948), UINT64_C(260584255782916), UINT64_C(3003383808), UINT64_C(3015770112), UINT64_C(10240), UINT64_C(3007643648), UINT64_C(3007643648), UINT64_C(260584255783013), UINT64_C(2013265920), UINT64_C(3007578112), UINT64_C(3007578112), UINT64_C(0),
UINT64_C(14336), UINT64_C(3007709184), UINT64_C(3007709184), UINT64_C(260584255783012), UINT64_C(0),
UINT64_C(249589139505354), UINT64_C(249589139505156), UINT64_C(249589139505271), UINT64_C(3104178176), UINT64_C(3016556544), UINT64_C(249589139505172), UINT64_C(211110527500288), UINT64_C(3105095680), UINT64_C(215555818651648), UINT64_C(249589139505173), UINT64_C(2802384896), UINT64_C(3104243712), UINT64_C(215521458913280), UINT64_C(3104047104), UINT64_C(215538638782464), UINT64_C(1207959552), UINT64_C(249589139505348), UINT64_C(2802319360), UINT64_C(0),
UINT64_C(0),
UINT64_C(3106340864), UINT64_C(215525753880576), UINT64_C(249589139505272), UINT64_C(249589139505300), UINT64_C(249589139505346), UINT64_C(0),
UINT64_C(3113484288), UINT64_C(0),
UINT64_C(249589139505296), UINT64_C(3112435712), UINT64_C(249589139505174), UINT64_C(3105226752), UINT64_C(215564408586240), UINT64_C(249589139505297), UINT64_C(3112501248), UINT64_C(215530048847872), UINT64_C(249589139505301), UINT64_C(249589139505350), UINT64_C(0),
UINT64_C(3113549824), UINT64_C(215512868978688), UINT64_C(0),
UINT64_C(211166362075136), UINT64_C(2769027072), UINT64_C(2769092608), UINT64_C(211170657042432), UINT64_C(2769158144), UINT64_C(2769223680), UINT64_C(258385232527364), UINT64_C(0),
UINT64_C(3004235776), UINT64_C(3010527232), UINT64_C(3010527232), UINT64_C(3003187200), UINT64_C(3104899072), UINT64_C(3103850496), UINT64_C(4352), UINT64_C(3007381504), UINT64_C(258385232527602), UINT64_C(258385232527586), UINT64_C(3118596096), UINT64_C(3119644672), UINT64_C(3004170240), UINT64_C(3010461696), UINT64_C(3010461696), UINT64_C(3003121664), UINT64_C(3104833536), UINT64_C(3103784960), UINT64_C(4096), UINT64_C(3007315968), UINT64_C(6144), UINT64_C(215560113618944), UINT64_C(0),
UINT64_C(249589139505182), UINT64_C(249589139505167), UINT64_C(3104768000), UINT64_C(3105816576), UINT64_C(249589139505170), UINT64_C(3004301312), UINT64_C(3004301312), UINT64_C(0),
UINT64_C(3003252736), UINT64_C(3003252736), UINT64_C(0),
UINT64_C(249589139505154), UINT64_C(249589139505202), UINT64_C(3104964608), UINT64_C(3103916032), UINT64_C(4608), UINT64_C(3007447040), UINT64_C(3007447040), UINT64_C(0),
UINT64_C(0),
UINT64_C(260584255782917), UINT64_C(3003449344), UINT64_C(260584255782918), UINT64_C(3003514880), UINT64_C(3009740800), UINT64_C(249589139505240), UINT64_C(3010789376), UINT64_C(3010723840), UINT64_C(3010854912), UINT64_C(260584255782942), UINT64_C(3005087744), UINT64_C(260584255782926), UINT64_C(3004039168), UINT64_C(260584255782940), UINT64_C(3004956672), UINT64_C(260584255782924), UINT64_C(3003908096), UINT64_C(260584255782935), UINT64_C(3004628992), UINT64_C(2802647040), UINT64_C(1275068416), UINT64_C(2802581504), UINT64_C(249589139505276), UINT64_C(249589139505286), UINT64_C(3112566784), UINT64_C(1895825408), UINT64_C(260584255782943), UINT64_C(3005153280), UINT64_C(260584255782927), UINT64_C(3004104704), UINT64_C(213309550755840), UINT64_C(249589139505164), UINT64_C(249589139505180), UINT64_C(213305255788544), UINT64_C(3105619968), UINT64_C(3104571392), UINT64_C(2991718400), UINT64_C(249589139505233), UINT64_C(230897441832960), UINT64_C(0),
UINT64_C(0),
UINT64_C(252097400406016), UINT64_C(252080220536832), UINT64_C(252114580275200), UINT64_C(2449473536), UINT64_C(258385232527442), UINT64_C(2991915008), UINT64_C(0),
UINT64_C(3008102400), UINT64_C(260584255782919), UINT64_C(3003580416), UINT64_C(1409286144), UINT64_C(233096465088512), UINT64_C(0),
UINT64_C(0),
UINT64_C(249589139505280), UINT64_C(3112173568), UINT64_C(3118727168), UINT64_C(2483027968), UINT64_C(0),
UINT64_C(211149182205952), UINT64_C(0),
UINT64_C(2768502784), UINT64_C(0),
UINT64_C(2768568320), UINT64_C(0),
UINT64_C(0),
UINT64_C(211153477173248), UINT64_C(0),
UINT64_C(2768633856), UINT64_C(0),
UINT64_C(2768699392), UINT64_C(0),
UINT64_C(0),
UINT64_C(258385232527444), UINT64_C(5120), UINT64_C(3119775744), UINT64_C(249589139505189), UINT64_C(249589139505236), UINT64_C(1442840576), UINT64_C(235295488344064), UINT64_C(0),
UINT64_C(0),
UINT64_C(249589139505281), UINT64_C(3112239104), UINT64_C(3118858240), UINT64_C(2516582400), UINT64_C(0),
UINT64_C(211157772140544), UINT64_C(0),
UINT64_C(2768764928), UINT64_C(0),
UINT64_C(2768830464), UINT64_C(0),
UINT64_C(0),
UINT64_C(211162067107840), UINT64_C(0),
UINT64_C(2768896000), UINT64_C(0),
UINT64_C(2768961536), UINT64_C(0),
UINT64_C(0),
UINT64_C(258385232527446), UINT64_C(5632), UINT64_C(3119906816), UINT64_C(249589139505238), UINT64_C(249589139505206), UINT64_C(217711892234240), UINT64_C(3118530560), UINT64_C(3001548800), UINT64_C(259484744155221), UINT64_C(259484744155221), UINT64_C(259484744155225), UINT64_C(259484744155229), UINT64_C(0),
UINT64_C(0),
UINT64_C(259484744155217), UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(258385232527389), UINT64_C(258385232527388), UINT64_C(259484744155220), UINT64_C(259484744155222), UINT64_C(259484744155223), UINT64_C(0),
UINT64_C(1526726656), UINT64_C(260584255782939), UINT64_C(3004891136), UINT64_C(260584255782923), UINT64_C(3003842560), UINT64_C(249589139505161), UINT64_C(249589139505177), UINT64_C(3105423360), UINT64_C(3104374784), UINT64_C(3119054848), UINT64_C(1258291200), UINT64_C(249589139505275), UINT64_C(1593835520), UINT64_C(249589139505305), UINT64_C(249589139505289), UINT64_C(3112763392), UINT64_C(3113811968), UINT64_C(213326730625024), UINT64_C(249589139505163), UINT64_C(249589139505179), UINT64_C(213322435657728), UINT64_C(3105554432), UINT64_C(3104505856), UINT64_C(3119185920), UINT64_C(2298478592), UINT64_C(258385232527373), UINT64_C(258385232527583), UINT64_C(7936), UINT64_C(3120234496), UINT64_C(249589139505247), UINT64_C(260584255782933), UINT64_C(3004497920), UINT64_C(260584255782932), UINT64_C(3004432384), UINT64_C(3004563456), UINT64_C(6912), UINT64_C(2315255808), UINT64_C(258385232527370), UINT64_C(258385232527580), UINT64_C(3120103424), UINT64_C(2281701376), UINT64_C(258385232527372), UINT64_C(258385232527582), UINT64_C(2992504832), UINT64_C(0),
UINT64_C(1342177280), UINT64_C(0),
UINT64_C(1107296256), UINT64_C(249589139505347), UINT64_C(2986672128), UINT64_C(2994208768), UINT64_C(2994470912), UINT64_C(0),
UINT64_C(249589139505266), UINT64_C(1610612736), UINT64_C(260584255783015), UINT64_C(1879048192), UINT64_C(260584255783014), UINT64_C(249589139505355), UINT64_C(2997878784), UINT64_C(249589139505188), UINT64_C(215551523684352), UINT64_C(1073741824), UINT64_C(249589139505351), UINT64_C(0),
UINT64_C(215534343815168), UINT64_C(249589139505264), UINT64_C(258385232527396), UINT64_C(0),
UINT64_C(258385232527603), UINT64_C(258385232527587), UINT64_C(215568703553536), UINT64_C(249589139505214), UINT64_C(249589139505199), UINT64_C(0),
UINT64_C(249589139505232), UINT64_C(3008036864), UINT64_C(249589139505243), UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(3002859520), UINT64_C(252200479621120), UINT64_C(252204774588416), UINT64_C(0),
UINT64_C(3002597376), UINT64_C(0),
UINT64_C(0),
UINT64_C(2432696320), UINT64_C(2801926144), UINT64_C(0),
UINT64_C(2801991680), UINT64_C(0),
UINT64_C(0),
UINT64_C(2801795072), UINT64_C(0),
UINT64_C(2801860608), UINT64_C(0),
UINT64_C(0),
UINT64_C(258385232527441), UINT64_C(253987186016499), UINT64_C(253987186016497), UINT64_C(253987253125305), UINT64_C(253987186024689), UINT64_C(253987186028785), UINT64_C(253987186020593), UINT64_C(253987186032881), UINT64_C(253987253125307), UINT64_C(253987186024691), UINT64_C(253987186028787), UINT64_C(253987186020595), UINT64_C(253987186032883), UINT64_C(253987186016498), UINT64_C(253987186024690), UINT64_C(253987186028786), UINT64_C(253987186020594), UINT64_C(253987186016496), UINT64_C(253987186024688), UINT64_C(253987186028784), UINT64_C(253987186020592), UINT64_C(253987186028739), UINT64_C(253987186028737), UINT64_C(253987186016504), UINT64_C(253987187065080), UINT64_C(253987186024696), UINT64_C(253987187073272), UINT64_C(253987186028792), UINT64_C(253987187077368), UINT64_C(253987186020600), UINT64_C(253987187069176), UINT64_C(253987186028738), UINT64_C(253987186016507), UINT64_C(253987187065083), UINT64_C(253987186024699), UINT64_C(253987187073275), UINT64_C(253987186028795), UINT64_C(253987187077371), UINT64_C(253987186020603), UINT64_C(253987187069179), UINT64_C(253987186016505), UINT64_C(253987187065081), UINT64_C(253987186024697), UINT64_C(253987187073273), UINT64_C(253987186028793), UINT64_C(253987187077369), UINT64_C(253987186020601), UINT64_C(253987187069177), UINT64_C(253987186016358), UINT64_C(253987186028736), UINT64_C(253987186016339), UINT64_C(253987186024531), UINT64_C(253987186028627), UINT64_C(253987186020435), UINT64_C(253987186016338), UINT64_C(253987186024530), UINT64_C(253987186028626), UINT64_C(253987186020434), UINT64_C(253987186016475), UINT64_C(253987186024667), UINT64_C(253987186028763), UINT64_C(253987186020571), UINT64_C(253987186016473), UINT64_C(253987186024665), UINT64_C(253987186028761), UINT64_C(253987186020569), UINT64_C(253987186016370), UINT64_C(253987186024562), UINT64_C(253987186028658), UINT64_C(253987186020466), UINT64_C(253987186016307), UINT64_C(253987186024499), UINT64_C(253987186028595), UINT64_C(253987186020403), UINT64_C(253987186016371), UINT64_C(253987186024563), UINT64_C(253987186028659), UINT64_C(253987186020467), UINT64_C(253987186016304), UINT64_C(253987186024496), UINT64_C(253987186028592), UINT64_C(253987186020400), UINT64_C(253987186016368), UINT64_C(253987186024560), UINT64_C(253987186028656), UINT64_C(253987186020464), UINT64_C(253987186016314), UINT64_C(253987186024506), UINT64_C(253987186028602), UINT64_C(253987186020410), UINT64_C(253987186016378), UINT64_C(253987186024570), UINT64_C(253987186028666), UINT64_C(253987186020474), UINT64_C(253987186016312), UINT64_C(253987186024504), UINT64_C(253987186028600), UINT64_C(253987186020408), UINT64_C(253987186016376), UINT64_C(253987186024568), UINT64_C(253987186028664), UINT64_C(253987186020472), UINT64_C(253987186028771), UINT64_C(253987186016386), UINT64_C(253987187064962), UINT64_C(253987186024578), UINT64_C(253987187073154), UINT64_C(253987186020482), UINT64_C(253987187069058), UINT64_C(253987188113538), UINT64_C(253987189162114), UINT64_C(253987188121730), UINT64_C(253987189170306), UINT64_C(253987188117634), UINT64_C(253987189166210), UINT64_C(253987186028776), UINT64_C(253987187077352), UINT64_C(253987186028779), UINT64_C(253987187077355), UINT64_C(253987186028778), UINT64_C(253987187077354), UINT64_C(253987186028773), UINT64_C(253987186016384), UINT64_C(253987187064960), UINT64_C(253987186024576), UINT64_C(253987187073152), UINT64_C(253987186020480), UINT64_C(253987187069056), UINT64_C(253987188113536), UINT64_C(253987189162112), UINT64_C(253987188121728), UINT64_C(253987189170304), UINT64_C(253987188117632), UINT64_C(253987189166208), UINT64_C(253987186016385), UINT64_C(253987187064961), UINT64_C(253987186024577), UINT64_C(253987187073153), UINT64_C(253987186020481), UINT64_C(253987187069057), UINT64_C(253987188113537), UINT64_C(253987189162113), UINT64_C(253987188121729), UINT64_C(253987189170305), UINT64_C(253987188117633), UINT64_C(253987189166209), UINT64_C(253987186028743), UINT64_C(253987186028748), UINT64_C(253987187077324), UINT64_C(253987188125900), UINT64_C(253987236348047), UINT64_C(253987186028775), UINT64_C(253987236348046), UINT64_C(253987186028770), UINT64_C(253987186028750), UINT64_C(253987186028618), UINT64_C(253987186016324), UINT64_C(253987186016275), UINT64_C(253987186016274), UINT64_C(253987186016444), UINT64_C(253987219570876), UINT64_C(253987236348092), UINT64_C(253987202793660), UINT64_C(253987186016436), UINT64_C(253987186024628), UINT64_C(253987186028724), UINT64_C(253987186020532), UINT64_C(253987186016326), UINT64_C(253987186024518), UINT64_C(253987186028614), UINT64_C(253987186020422), UINT64_C(253987186016348), UINT64_C(253987187064924), UINT64_C(253987186024540), UINT64_C(253987187073116), UINT64_C(253987186020444), UINT64_C(253987187069020), UINT64_C(253987186016262), UINT64_C(0),
UINT64_C(0),
UINT64_C(253987186016263), UINT64_C(253987186016478), UINT64_C(253987186024670), UINT64_C(253987186028766), UINT64_C(253987186020574), UINT64_C(253987186024644), UINT64_C(253987186016256), UINT64_C(253987186028741), UINT64_C(253987186016259), UINT64_C(253987186016258), UINT64_C(253987186016257), UINT64_C(253987186016320), UINT64_C(253987186016323), UINT64_C(253987186016322), UINT64_C(253987186016321), UINT64_C(253987186016289), UINT64_C(253987186024481), UINT64_C(253987186028577), UINT64_C(253987186020385), UINT64_C(253987186016311), UINT64_C(253987186016260), UINT64_C(253987186024452), UINT64_C(253987186028548), UINT64_C(253987186020356), UINT64_C(253987186016310), UINT64_C(253987186016479), UINT64_C(253987186024671), UINT64_C(253987186028767), UINT64_C(253987186020575), UINT64_C(253987186016342), UINT64_C(0),
UINT64_C(0),
UINT64_C(253987186016261), UINT64_C(253987186024453), UINT64_C(253987186028549), UINT64_C(253987186020357), UINT64_C(253987186016290), UINT64_C(253987186024482), UINT64_C(253987186028578), UINT64_C(253987186020386), UINT64_C(253987186016354), UINT64_C(0),
UINT64_C(253987186016430), UINT64_C(253987219570862), UINT64_C(253987202793646), UINT64_C(253987186016427), UINT64_C(253987219570859), UINT64_C(253987202793643), UINT64_C(253987186016426), UINT64_C(253987186016428), UINT64_C(253987219570860), UINT64_C(253987202793644), UINT64_C(253987219570858), UINT64_C(253987186016425), UINT64_C(253987219570857), UINT64_C(253987202793641), UINT64_C(253987202793642), UINT64_C(253987186016429), UINT64_C(253987219570861), UINT64_C(253987202793645), UINT64_C(253987186016431), UINT64_C(253987219570863), UINT64_C(253987202793647), UINT64_C(253987186016422), UINT64_C(253987186024614), UINT64_C(253987186020518), UINT64_C(253987186016419), UINT64_C(253987186024611), UINT64_C(253987186020515), UINT64_C(253987186016418), UINT64_C(253987186016420), UINT64_C(253987186024612), UINT64_C(253987186020516), UINT64_C(253987186024610), UINT64_C(253987186016417), UINT64_C(253987186024609), UINT64_C(253987186020513), UINT64_C(253987186020514), UINT64_C(253987186016421), UINT64_C(253987186024613), UINT64_C(253987186020517), UINT64_C(253987186016510), UINT64_C(253987186024702), UINT64_C(253987186028798), UINT64_C(253987186020606), UINT64_C(253987186016508), UINT64_C(253987186024700), UINT64_C(253987186028796), UINT64_C(253987186020604), UINT64_C(253987186016423), UINT64_C(253987186024615), UINT64_C(253987186020519), UINT64_C(253987186016353), UINT64_C(253987186024545), UINT64_C(253987186028641), UINT64_C(253987186020449), UINT64_C(253987186016352), UINT64_C(253987186024544), UINT64_C(253987186028640), UINT64_C(253987186020448), UINT64_C(253987186016511), UINT64_C(253987186024703), UINT64_C(253987186028799), UINT64_C(253987186020607), UINT64_C(253987186016509), UINT64_C(253987186024701), UINT64_C(253987186028797), UINT64_C(253987186020605), UINT64_C(253987186016360), UINT64_C(253987186016361), UINT64_C(253987186016363), UINT64_C(253987186016362), UINT64_C(253991480918084), UINT64_C(253987186016388), UINT64_C(253987186016396), UINT64_C(253987186024596), UINT64_C(253987186028692), UINT64_C(253987186020500), UINT64_C(253987186024597), UINT64_C(253987187073173), UINT64_C(253987186028693), UINT64_C(253987187077269), UINT64_C(253987186020501), UINT64_C(253987187069077), UINT64_C(253987186024599), UINT64_C(253987187073175), UINT64_C(253987186028695), UINT64_C(253987187077271), UINT64_C(253987186020503), UINT64_C(253987187069079), UINT64_C(253987186016336), UINT64_C(253987186016333), UINT64_C(253987186024525), UINT64_C(253987186028621), UINT64_C(253987186020429), UINT64_C(253987186016325), UINT64_C(253987186024517), UINT64_C(253987186028613), UINT64_C(253987186020421), UINT64_C(253987186016503), UINT64_C(253987253125309), UINT64_C(253987253125311), UINT64_C(253987186016501), UINT64_C(253987186024693), UINT64_C(253987186028789), UINT64_C(253987186020597), UINT64_C(253987186032885), UINT64_C(253987186016283), UINT64_C(253987186016282), UINT64_C(253987186016351), UINT64_C(253987186024543), UINT64_C(253987186020447), UINT64_C(253987186016397), UINT64_C(253987186024695), UINT64_C(253987186028791), UINT64_C(253987186020599), UINT64_C(253987186016372), UINT64_C(253987186016373), UINT64_C(253987186016375), UINT64_C(253987186032887), UINT64_C(253987186016382), UINT64_C(253987186016383), UINT64_C(253987186016380), UINT64_C(253987186016381), UINT64_C(253987186016270), UINT64_C(0),
UINT64_C(0),
UINT64_C(253987186016264), UINT64_C(253987186016267), UINT64_C(253987186016266), UINT64_C(253987186016265), UINT64_C(253987186016319), UINT64_C(253987186016318), UINT64_C(253987186016394), UINT64_C(253987187064970), UINT64_C(253987219570826), UINT64_C(253987220619402), UINT64_C(253987202793610), UINT64_C(253987203842186), UINT64_C(253987188113546), UINT64_C(253987189162122), UINT64_C(253987221667978), UINT64_C(253987222716554), UINT64_C(253987204890762), UINT64_C(253987205939338), UINT64_C(253987186016356), UINT64_C(253987186024549), UINT64_C(253987186020453), UINT64_C(253987186020452), UINT64_C(253987186024551), UINT64_C(253987186028647), UINT64_C(253987186016472), UINT64_C(253987186016471), UINT64_C(253987186024663), UINT64_C(253987186020567), UINT64_C(253987186016470), UINT64_C(253987186024662), UINT64_C(253987186016469), UINT64_C(253987186024661), UINT64_C(253987186020565), UINT64_C(253987186020566), UINT64_C(253987186016468), UINT64_C(253987186024660), UINT64_C(253987186020564), UINT64_C(253987186016365), UINT64_C(253987186016324), UINT64_C(253987186553027), UINT64_C(253987186553025), UINT64_C(253987186553026), UINT64_C(253987186553024), UINT64_C(253987186553059), UINT64_C(253987186028747), UINT64_C(253987186553064), UINT64_C(253987187601640), UINT64_C(253987186553067), UINT64_C(253987187601643), UINT64_C(253987186553066), UINT64_C(253987187601642), UINT64_C(253987186553061), UINT64_C(253987186553031), UINT64_C(253987186028746), UINT64_C(253987186553036), UINT64_C(253987187601612), UINT64_C(253987188650188), UINT64_C(253987236872335), UINT64_C(253987186553063), UINT64_C(253987236872334), UINT64_C(253987186553058), UINT64_C(253987186553038), UINT64_C(253987186552906), UINT64_C(253987186548932), UINT64_C(253987186553029), UINT64_C(1459617792), UINT64_C(236394999971840), UINT64_C(0),
UINT64_C(0),
UINT64_C(249589139505282), UINT64_C(3112304640), UINT64_C(3118923776), UINT64_C(2533359616), UINT64_C(0),
UINT64_C(211132002336768), UINT64_C(0),
UINT64_C(211136297304064), UINT64_C(0),
UINT64_C(258385232527447), UINT64_C(5888), UINT64_C(3119972352), UINT64_C(249589139505239), UINT64_C(0),
UINT64_C(0),
UINT64_C(0)
};
const unsigned opcode = MI.getOpcode();
uint64_t Value = InstBits[opcode];
uint64_t op = 0;
(void)op; switch (opcode) {
case SystemZ::TEND: {
break;
}
case SystemZ::CGHSI:
case SystemZ::CHHSI:
case SystemZ::CHSI:
case SystemZ::CLFHSI:
case SystemZ::CLGHSI:
case SystemZ::CLHHSI:
case SystemZ::MVGHI:
case SystemZ::MVHHI:
case SystemZ::MVHI:
case SystemZ::TBEGIN:
case SystemZ::TBEGINC: {
op = getBDAddr12Encoding(MI, 0, Fixups, STI);
Value |= (op & UINT64_C(65535)) << 16;
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= op & UINT64_C(65535);
break;
}
case SystemZ::CLI:
case SystemZ::MVI:
case SystemZ::NI:
case SystemZ::OI:
case SystemZ::TM:
case SystemZ::XI: {
op = getBDAddr12Encoding(MI, 0, Fixups, STI);
Value |= op & UINT64_C(65535);
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(255)) << 16;
break;
}
case SystemZ::AGSI:
case SystemZ::ASI:
case SystemZ::CLIY:
case SystemZ::MVIY:
case SystemZ::NIY:
case SystemZ::OIY:
case SystemZ::TMY:
case SystemZ::XIY: {
op = getBDAddr20Encoding(MI, 0, Fixups, STI);
Value |= (op & UINT64_C(16777215)) << 8;
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(255)) << 32;
break;
}
case SystemZ::STCK:
case SystemZ::STCKE:
case SystemZ::STCKF:
case SystemZ::STFLE:
case SystemZ::TABORT: {
op = getBDAddr12Encoding(MI, 0, Fixups, STI);
Value |= op & UINT64_C(65535);
break;
}
case SystemZ::CLC:
case SystemZ::MVC:
case SystemZ::NC:
case SystemZ::OC:
case SystemZ::XC: {
op = getBDLAddr12Len8Encoding(MI, 0, Fixups, STI);
Value |= (op & UINT64_C(16777215)) << 16;
op = getBDAddr12Encoding(MI, 3, Fixups, STI);
Value |= op & UINT64_C(65535);
break;
}
case SystemZ::AsmEJ:
case SystemZ::AsmHEJ:
case SystemZ::AsmHJ:
case SystemZ::AsmLEJ:
case SystemZ::AsmLHJ:
case SystemZ::AsmLJ:
case SystemZ::AsmNEJ:
case SystemZ::AsmNHEJ:
case SystemZ::AsmNHJ:
case SystemZ::AsmNLEJ:
case SystemZ::AsmNLHJ:
case SystemZ::AsmNLJ:
case SystemZ::AsmNOJ:
case SystemZ::AsmOJ:
case SystemZ::J: {
op = getPC16DBLEncoding(MI, 0, Fixups, STI);
Value |= op & UINT64_C(65535);
break;
}
case SystemZ::AsmEJG:
case SystemZ::AsmHEJG:
case SystemZ::AsmHJG:
case SystemZ::AsmLEJG:
case SystemZ::AsmLHJG:
case SystemZ::AsmLJG:
case SystemZ::AsmNEJG:
case SystemZ::AsmNHEJG:
case SystemZ::AsmNHJG:
case SystemZ::AsmNLEJG:
case SystemZ::AsmNLHJG:
case SystemZ::AsmNLJG:
case SystemZ::AsmNOJG:
case SystemZ::AsmOJG:
case SystemZ::JG: {
op = getPC32DBLEncoding(MI, 0, Fixups, STI);
Value |= op & UINT64_C(4294967295);
break;
}
case SystemZ::MADB:
case SystemZ::MAEB:
case SystemZ::MSDB:
case SystemZ::MSEB: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 12;
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
op = getBDXAddr12Encoding(MI, 3, Fixups, STI);
Value |= (op & UINT64_C(1048575)) << 16;
break;
}
case SystemZ::MADBR:
case SystemZ::MAEBR:
case SystemZ::MSDBR:
case SystemZ::MSEBR: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 12;
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(15)) << 4;
op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
Value |= op & UINT64_C(15);
break;
}
case SystemZ::SLL:
case SystemZ::SRA:
case SystemZ::SRL: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 20;
op = getBDAddr12Encoding(MI, 2, Fixups, STI);
Value |= op & UINT64_C(65535);
break;
}
case SystemZ::CGHI:
case SystemZ::CHI:
case SystemZ::LGHI:
case SystemZ::LHI:
case SystemZ::LLIHH:
case SystemZ::LLIHL:
case SystemZ::LLILH:
case SystemZ::LLILL:
case SystemZ::TMHH:
case SystemZ::TMHL:
case SystemZ::TMLH:
case SystemZ::TMLL: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 20;
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= op & UINT64_C(65535);
break;
}
case SystemZ::AGHI:
case SystemZ::AHI:
case SystemZ::IIHH:
case SystemZ::IIHL:
case SystemZ::IILH:
case SystemZ::IILL:
case SystemZ::MGHI:
case SystemZ::MHI:
case SystemZ::NIHH:
case SystemZ::NIHL:
case SystemZ::NILH:
case SystemZ::NILL:
case SystemZ::OIHH:
case SystemZ::OIHL:
case SystemZ::OILH:
case SystemZ::OILL: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 20;
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= op & UINT64_C(65535);
break;
}
case SystemZ::AsmBRC: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 20;
op = getPC16DBLEncoding(MI, 1, Fixups, STI);
Value |= op & UINT64_C(65535);
break;
}
case SystemZ::BRCT:
case SystemZ::BRCTG: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 20;
op = getPC16DBLEncoding(MI, 2, Fixups, STI);
Value |= op & UINT64_C(65535);
break;
}
case SystemZ::BRAS: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 20;
op = getPC16DBLTLSEncoding(MI, 1, Fixups, STI);
Value |= op & UINT64_C(65535);
break;
}
case SystemZ::CS: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 20;
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(15)) << 16;
op = getBDAddr12Encoding(MI, 3, Fixups, STI);
Value |= op & UINT64_C(65535);
break;
}
case SystemZ::C:
case SystemZ::CH:
case SystemZ::CL:
case SystemZ::L:
case SystemZ::LA:
case SystemZ::LD:
case SystemZ::LE:
case SystemZ::LH:
case SystemZ::ST:
case SystemZ::STC:
case SystemZ::STD:
case SystemZ::STE:
case SystemZ::STH: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 20;
op = getBDXAddr12Encoding(MI, 1, Fixups, STI);
Value |= op & UINT64_C(1048575);
break;
}
case SystemZ::A:
case SystemZ::AH:
case SystemZ::AL:
case SystemZ::IC:
case SystemZ::IC32:
case SystemZ::MH:
case SystemZ::MS:
case SystemZ::N:
case SystemZ::O:
case SystemZ::S:
case SystemZ::SH:
case SystemZ::SL:
case SystemZ::X: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 20;
op = getBDXAddr12Encoding(MI, 2, Fixups, STI);
Value |= op & UINT64_C(1048575);
break;
}
case SystemZ::VLGVB:
case SystemZ::VLGVF:
case SystemZ::VLGVG:
case SystemZ::VLGVH: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
op = getBDAddr12Encoding(MI, 2, Fixups, STI);
Value |= (op & UINT64_C(65535)) << 16;
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(15)) << 32;
Value |= (op & UINT64_C(16)) << 6;
break;
}
case SystemZ::AsmESTOC:
case SystemZ::AsmESTOCG:
case SystemZ::AsmHESTOC:
case SystemZ::AsmHESTOCG:
case SystemZ::AsmHSTOC:
case SystemZ::AsmHSTOCG:
case SystemZ::AsmLESTOC:
case SystemZ::AsmLESTOCG:
case SystemZ::AsmLHSTOC:
case SystemZ::AsmLHSTOCG:
case SystemZ::AsmLSTOC:
case SystemZ::AsmLSTOCG:
case SystemZ::AsmNESTOC:
case SystemZ::AsmNESTOCG:
case SystemZ::AsmNHESTOC:
case SystemZ::AsmNHESTOCG:
case SystemZ::AsmNHSTOC:
case SystemZ::AsmNHSTOCG:
case SystemZ::AsmNLESTOC:
case SystemZ::AsmNLESTOCG:
case SystemZ::AsmNLHSTOC:
case SystemZ::AsmNLHSTOCG:
case SystemZ::AsmNLSTOC:
case SystemZ::AsmNLSTOCG:
case SystemZ::AsmNOSTOC:
case SystemZ::AsmNOSTOCG:
case SystemZ::AsmOSTOC:
case SystemZ::AsmOSTOCG: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
op = getBDAddr20Encoding(MI, 1, Fixups, STI);
Value |= (op & UINT64_C(16777215)) << 8;
break;
}
case SystemZ::AsmELOC:
case SystemZ::AsmELOCG:
case SystemZ::AsmHELOC:
case SystemZ::AsmHELOCG:
case SystemZ::AsmHLOC:
case SystemZ::AsmHLOCG:
case SystemZ::AsmLELOC:
case SystemZ::AsmLELOCG:
case SystemZ::AsmLHLOC:
case SystemZ::AsmLHLOCG:
case SystemZ::AsmLLOC:
case SystemZ::AsmLLOCG:
case SystemZ::AsmNELOC:
case SystemZ::AsmNELOCG:
case SystemZ::AsmNHELOC:
case SystemZ::AsmNHELOCG:
case SystemZ::AsmNHLOC:
case SystemZ::AsmNHLOCG:
case SystemZ::AsmNLELOC:
case SystemZ::AsmNLELOCG:
case SystemZ::AsmNLHLOC:
case SystemZ::AsmNLHLOCG:
case SystemZ::AsmNLLOC:
case SystemZ::AsmNLLOCG:
case SystemZ::AsmNOLOC:
case SystemZ::AsmNOLOCG:
case SystemZ::AsmOLOC:
case SystemZ::AsmOLOCG: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
op = getBDAddr20Encoding(MI, 2, Fixups, STI);
Value |= (op & UINT64_C(16777215)) << 8;
break;
}
case SystemZ::AsmCGIJ:
case SystemZ::AsmCIJ:
case SystemZ::AsmCLGIJ:
case SystemZ::AsmCLIJ:
case SystemZ::CGIJ:
case SystemZ::CIJ:
case SystemZ::CLGIJ:
case SystemZ::CLIJ: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(255)) << 8;
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(15)) << 32;
op = getPC16DBLEncoding(MI, 3, Fixups, STI);
Value |= (op & UINT64_C(65535)) << 16;
break;
}
case SystemZ::AsmJEAltCGI:
case SystemZ::AsmJEAltCI:
case SystemZ::AsmJEAltCLGI:
case SystemZ::AsmJEAltCLI:
case SystemZ::AsmJECGI:
case SystemZ::AsmJECI:
case SystemZ::AsmJECLGI:
case SystemZ::AsmJECLI:
case SystemZ::AsmJHAltCGI:
case SystemZ::AsmJHAltCI:
case SystemZ::AsmJHAltCLGI:
case SystemZ::AsmJHAltCLI:
case SystemZ::AsmJHCGI:
case SystemZ::AsmJHCI:
case SystemZ::AsmJHCLGI:
case SystemZ::AsmJHCLI:
case SystemZ::AsmJHEAltCGI:
case SystemZ::AsmJHEAltCI:
case SystemZ::AsmJHEAltCLGI:
case SystemZ::AsmJHEAltCLI:
case SystemZ::AsmJHECGI:
case SystemZ::AsmJHECI:
case SystemZ::AsmJHECLGI:
case SystemZ::AsmJHECLI:
case SystemZ::AsmJLAltCGI:
case SystemZ::AsmJLAltCI:
case SystemZ::AsmJLAltCLGI:
case SystemZ::AsmJLAltCLI:
case SystemZ::AsmJLCGI:
case SystemZ::AsmJLCI:
case SystemZ::AsmJLCLGI:
case SystemZ::AsmJLCLI:
case SystemZ::AsmJLEAltCGI:
case SystemZ::AsmJLEAltCI:
case SystemZ::AsmJLEAltCLGI:
case SystemZ::AsmJLEAltCLI:
case SystemZ::AsmJLECGI:
case SystemZ::AsmJLECI:
case SystemZ::AsmJLECLGI:
case SystemZ::AsmJLECLI:
case SystemZ::AsmJLHAltCGI:
case SystemZ::AsmJLHAltCI:
case SystemZ::AsmJLHAltCLGI:
case SystemZ::AsmJLHAltCLI:
case SystemZ::AsmJLHCGI:
case SystemZ::AsmJLHCI:
case SystemZ::AsmJLHCLGI:
case SystemZ::AsmJLHCLI: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(255)) << 8;
op = getPC16DBLEncoding(MI, 2, Fixups, STI);
Value |= (op & UINT64_C(65535)) << 16;
break;
}
case SystemZ::CFI:
case SystemZ::CGFI:
case SystemZ::CIH:
case SystemZ::CLFI:
case SystemZ::CLGFI:
case SystemZ::CLIH:
case SystemZ::IIHF:
case SystemZ::IILF:
case SystemZ::LGFI:
case SystemZ::LLIHF:
case SystemZ::LLILF: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= op & UINT64_C(4294967295);
break;
}
case SystemZ::AFI:
case SystemZ::AGFI:
case SystemZ::AIH:
case SystemZ::ALFI:
case SystemZ::ALGFI:
case SystemZ::MSFI:
case SystemZ::MSGFI:
case SystemZ::NIHF:
case SystemZ::NILF:
case SystemZ::OIHF:
case SystemZ::OILF:
case SystemZ::SLFI:
case SystemZ::SLGFI:
case SystemZ::XIHF:
case SystemZ::XILF: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= op & UINT64_C(4294967295);
break;
}
case SystemZ::AsmBRCL:
case SystemZ::CGFRL:
case SystemZ::CGHRL:
case SystemZ::CGRL:
case SystemZ::CHRL:
case SystemZ::CLGFRL:
case SystemZ::CLGHRL:
case SystemZ::CLGRL:
case SystemZ::CLHRL:
case SystemZ::CLRL:
case SystemZ::CRL:
case SystemZ::LARL:
case SystemZ::LGFRL:
case SystemZ::LGHRL:
case SystemZ::LGRL:
case SystemZ::LHRL:
case SystemZ::LLGFRL:
case SystemZ::LLGHRL:
case SystemZ::LLHRL:
case SystemZ::LRL:
case SystemZ::PFDRL:
case SystemZ::STGRL:
case SystemZ::STHRL:
case SystemZ::STRL: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
op = getPC32DBLEncoding(MI, 1, Fixups, STI);
Value |= op & UINT64_C(4294967295);
break;
}
case SystemZ::BRASL: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
op = getPC32DBLTLSEncoding(MI, 1, Fixups, STI);
Value |= op & UINT64_C(4294967295);
break;
}
case SystemZ::AsmCGRJ:
case SystemZ::AsmCLGRJ:
case SystemZ::AsmCLRJ:
case SystemZ::AsmCRJ:
case SystemZ::CGRJ:
case SystemZ::CLGRJ:
case SystemZ::CLRJ:
case SystemZ::CRJ: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(15)) << 32;
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(15)) << 12;
op = getPC16DBLEncoding(MI, 3, Fixups, STI);
Value |= (op & UINT64_C(65535)) << 16;
break;
}
case SystemZ::AsmJEAltCGR:
case SystemZ::AsmJEAltCLGR:
case SystemZ::AsmJEAltCLR:
case SystemZ::AsmJEAltCR:
case SystemZ::AsmJECGR:
case SystemZ::AsmJECLGR:
case SystemZ::AsmJECLR:
case SystemZ::AsmJECR:
case SystemZ::AsmJHAltCGR:
case SystemZ::AsmJHAltCLGR:
case SystemZ::AsmJHAltCLR:
case SystemZ::AsmJHAltCR:
case SystemZ::AsmJHCGR:
case SystemZ::AsmJHCLGR:
case SystemZ::AsmJHCLR:
case SystemZ::AsmJHCR:
case SystemZ::AsmJHEAltCGR:
case SystemZ::AsmJHEAltCLGR:
case SystemZ::AsmJHEAltCLR:
case SystemZ::AsmJHEAltCR:
case SystemZ::AsmJHECGR:
case SystemZ::AsmJHECLGR:
case SystemZ::AsmJHECLR:
case SystemZ::AsmJHECR:
case SystemZ::AsmJLAltCGR:
case SystemZ::AsmJLAltCLGR:
case SystemZ::AsmJLAltCLR:
case SystemZ::AsmJLAltCR:
case SystemZ::AsmJLCGR:
case SystemZ::AsmJLCLGR:
case SystemZ::AsmJLCLR:
case SystemZ::AsmJLCR:
case SystemZ::AsmJLEAltCGR:
case SystemZ::AsmJLEAltCLGR:
case SystemZ::AsmJLEAltCLR:
case SystemZ::AsmJLEAltCR:
case SystemZ::AsmJLECGR:
case SystemZ::AsmJLECLGR:
case SystemZ::AsmJLECLR:
case SystemZ::AsmJLECR:
case SystemZ::AsmJLHAltCGR:
case SystemZ::AsmJLHAltCLGR:
case SystemZ::AsmJLHAltCLR:
case SystemZ::AsmJLHAltCR:
case SystemZ::AsmJLHCGR:
case SystemZ::AsmJLHCLGR:
case SystemZ::AsmJLHCLR:
case SystemZ::AsmJLHCR: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(15)) << 32;
op = getPC16DBLEncoding(MI, 2, Fixups, STI);
Value |= (op & UINT64_C(65535)) << 16;
break;
}
case SystemZ::RISBG:
case SystemZ::RISBG32:
case SystemZ::RISBGN:
case SystemZ::RISBHG:
case SystemZ::RISBLG:
case SystemZ::RNSBG:
case SystemZ::ROSBG:
case SystemZ::RXSBG: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(15)) << 32;
op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
Value |= (op & UINT64_C(255)) << 24;
op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
Value |= (op & UINT64_C(255)) << 16;
op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
Value |= (op & UINT64_C(255)) << 8;
break;
}
case SystemZ::LAA:
case SystemZ::LAAG:
case SystemZ::LAAL:
case SystemZ::LAALG:
case SystemZ::LAN:
case SystemZ::LANG:
case SystemZ::LAO:
case SystemZ::LAOG:
case SystemZ::LAX:
case SystemZ::LAXG:
case SystemZ::LMG:
case SystemZ::RLL:
case SystemZ::RLLG:
case SystemZ::SLLG:
case SystemZ::SLLK:
case SystemZ::SRAG:
case SystemZ::SRAK:
case SystemZ::SRLG:
case SystemZ::SRLK:
case SystemZ::STMG: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(15)) << 32;
op = getBDAddr20Encoding(MI, 2, Fixups, STI);
Value |= (op & UINT64_C(16777215)) << 8;
break;
}
case SystemZ::AGHIK:
case SystemZ::AHIK:
case SystemZ::ALGHSIK:
case SystemZ::ALHSIK: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(15)) << 32;
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(65535)) << 16;
break;
}
case SystemZ::CSG:
case SystemZ::CSY: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(15)) << 32;
op = getBDAddr20Encoding(MI, 3, Fixups, STI);
Value |= (op & UINT64_C(16777215)) << 8;
break;
}
case SystemZ::AsmSTOC:
case SystemZ::AsmSTOCG: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
Value |= (op & UINT64_C(15)) << 32;
op = getBDAddr20Encoding(MI, 1, Fixups, STI);
Value |= (op & UINT64_C(16777215)) << 8;
break;
}
case SystemZ::STOC:
case SystemZ::STOCG: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
Value |= (op & UINT64_C(15)) << 32;
op = getBDAddr20Encoding(MI, 1, Fixups, STI);
Value |= (op & UINT64_C(16777215)) << 8;
break;
}
case SystemZ::AsmLOC:
case SystemZ::AsmLOCG: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
Value |= (op & UINT64_C(15)) << 32;
op = getBDAddr20Encoding(MI, 2, Fixups, STI);
Value |= (op & UINT64_C(16777215)) << 8;
break;
}
case SystemZ::LOC:
case SystemZ::LOCG: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
Value |= (op & UINT64_C(15)) << 32;
op = getBDAddr20Encoding(MI, 2, Fixups, STI);
Value |= (op & UINT64_C(16777215)) << 8;
break;
}
case SystemZ::CDB:
case SystemZ::CEB:
case SystemZ::LDE32:
case SystemZ::LDEB:
case SystemZ::LXDB:
case SystemZ::LXEB:
case SystemZ::SQDB:
case SystemZ::SQEB: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
op = getBDXAddr12Encoding(MI, 1, Fixups, STI);
Value |= (op & UINT64_C(1048575)) << 16;
break;
}
case SystemZ::LCBB: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
op = getBDXAddr12Encoding(MI, 1, Fixups, STI);
Value |= (op & UINT64_C(1048575)) << 16;
op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
Value |= (op & UINT64_C(15)) << 12;
break;
}
case SystemZ::ADB:
case SystemZ::AEB:
case SystemZ::DDB:
case SystemZ::DEB:
case SystemZ::MDB:
case SystemZ::MDEB:
case SystemZ::MEEB:
case SystemZ::MXDB:
case SystemZ::SDB:
case SystemZ::SEB: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
op = getBDXAddr12Encoding(MI, 2, Fixups, STI);
Value |= (op & UINT64_C(1048575)) << 16;
break;
}
case SystemZ::CG:
case SystemZ::CGF:
case SystemZ::CGH:
case SystemZ::CHF:
case SystemZ::CHY:
case SystemZ::CLG:
case SystemZ::CLGF:
case SystemZ::CLHF:
case SystemZ::CLY:
case SystemZ::CY:
case SystemZ::LAY:
case SystemZ::LB:
case SystemZ::LBH:
case SystemZ::LDY:
case SystemZ::LEY:
case SystemZ::LFH:
case SystemZ::LG:
case SystemZ::LGB:
case SystemZ::LGF:
case SystemZ::LGH:
case SystemZ::LHH:
case SystemZ::LHY:
case SystemZ::LLC:
case SystemZ::LLCH:
case SystemZ::LLGC:
case SystemZ::LLGF:
case SystemZ::LLGH:
case SystemZ::LLH:
case SystemZ::LLHH:
case SystemZ::LRV:
case SystemZ::LRVG:
case SystemZ::LT:
case SystemZ::LTG:
case SystemZ::LTGF:
case SystemZ::LY:
case SystemZ::NTSTG:
case SystemZ::PFD:
case SystemZ::STCH:
case SystemZ::STCY:
case SystemZ::STDY:
case SystemZ::STEY:
case SystemZ::STFH:
case SystemZ::STG:
case SystemZ::STHH:
case SystemZ::STHY:
case SystemZ::STRV:
case SystemZ::STRVG:
case SystemZ::STY: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
op = getBDXAddr20Encoding(MI, 1, Fixups, STI);
Value |= (op & UINT64_C(268435455)) << 8;
break;
}
case SystemZ::AG:
case SystemZ::AGF:
case SystemZ::AHY:
case SystemZ::ALC:
case SystemZ::ALCG:
case SystemZ::ALG:
case SystemZ::ALGF:
case SystemZ::ALY:
case SystemZ::AY:
case SystemZ::DL:
case SystemZ::DLG:
case SystemZ::DSG:
case SystemZ::DSGF:
case SystemZ::IC32Y:
case SystemZ::ICY:
case SystemZ::MHY:
case SystemZ::MLG:
case SystemZ::MSG:
case SystemZ::MSGF:
case SystemZ::MSY:
case SystemZ::NG:
case SystemZ::NY:
case SystemZ::OG:
case SystemZ::OY:
case SystemZ::SG:
case SystemZ::SGF:
case SystemZ::SHY:
case SystemZ::SLB:
case SystemZ::SLBG:
case SystemZ::SLG:
case SystemZ::SLGF:
case SystemZ::SLY:
case SystemZ::SY:
case SystemZ::XG:
case SystemZ::XY: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
op = getBDXAddr20Encoding(MI, 2, Fixups, STI);
Value |= (op & UINT64_C(268435455)) << 8;
break;
}
case SystemZ::ETND:
case SystemZ::IPM:
case SystemZ::LZDR:
case SystemZ::LZER:
case SystemZ::LZXR: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 4;
break;
}
case SystemZ::AsmBCR:
case SystemZ::BASR:
case SystemZ::CDBR:
case SystemZ::CDFBR:
case SystemZ::CDGBR:
case SystemZ::CEBR:
case SystemZ::CEFBR:
case SystemZ::CEGBR:
case SystemZ::CGFR:
case SystemZ::CGR:
case SystemZ::CLGFR:
case SystemZ::CLGR:
case SystemZ::CLR:
case SystemZ::CLST:
case SystemZ::CR:
case SystemZ::CXBR:
case SystemZ::CXFBR:
case SystemZ::CXGBR:
case SystemZ::EAR:
case SystemZ::FLOGR:
case SystemZ::LBR:
case SystemZ::LCDBR:
case SystemZ::LCDFR:
case SystemZ::LCDFR_32:
case SystemZ::LCEBR:
case SystemZ::LCGFR:
case SystemZ::LCGR:
case SystemZ::LCR:
case SystemZ::LCXBR:
case SystemZ::LDEBR:
case SystemZ::LDGR:
case SystemZ::LDR:
case SystemZ::LDXBR:
case SystemZ::LEDBR:
case SystemZ::LER:
case SystemZ::LEXBR:
case SystemZ::LGBR:
case SystemZ::LGDR:
case SystemZ::LGFR:
case SystemZ::LGHR:
case SystemZ::LGR:
case SystemZ::LHR:
case SystemZ::LLCR:
case SystemZ::LLGCR:
case SystemZ::LLGFR:
case SystemZ::LLGHR:
case SystemZ::LLHR:
case SystemZ::LNDBR:
case SystemZ::LNDFR:
case SystemZ::LNDFR_32:
case SystemZ::LNEBR:
case SystemZ::LNGFR:
case SystemZ::LNGR:
case SystemZ::LNR:
case SystemZ::LNXBR:
case SystemZ::LPDBR:
case SystemZ::LPDFR:
case SystemZ::LPDFR_32:
case SystemZ::LPEBR:
case SystemZ::LPGFR:
case SystemZ::LPGR:
case SystemZ::LPR:
case SystemZ::LPXBR:
case SystemZ::LR:
case SystemZ::LRVGR:
case SystemZ::LRVR:
case SystemZ::LTDBR:
case SystemZ::LTDBRCompare:
case SystemZ::LTEBR:
case SystemZ::LTEBRCompare:
case SystemZ::LTGFR:
case SystemZ::LTGR:
case SystemZ::LTR:
case SystemZ::LTXBR:
case SystemZ::LTXBRCompare:
case SystemZ::LXDBR:
case SystemZ::LXEBR:
case SystemZ::LXR:
case SystemZ::MVST:
case SystemZ::POPCNT:
case SystemZ::SQDBR:
case SystemZ::SQEBR:
case SystemZ::SQXBR:
case SystemZ::SRST: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 4;
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= op & UINT64_C(15);
break;
}
case SystemZ::AGRK:
case SystemZ::ALGRK:
case SystemZ::ALRK:
case SystemZ::ARK:
case SystemZ::NGRK:
case SystemZ::NRK:
case SystemZ::OGRK:
case SystemZ::ORK:
case SystemZ::PPA:
case SystemZ::SGRK:
case SystemZ::SLGRK:
case SystemZ::SLRK:
case SystemZ::SRK:
case SystemZ::XGRK:
case SystemZ::XRK: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 4;
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= op & UINT64_C(15);
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(15)) << 12;
break;
}
case SystemZ::LOCGR:
case SystemZ::LOCR: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 4;
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= op & UINT64_C(15);
op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
Value |= (op & UINT64_C(15)) << 12;
break;
}
case SystemZ::ADBR:
case SystemZ::AEBR:
case SystemZ::AGFR:
case SystemZ::AGR:
case SystemZ::ALCGR:
case SystemZ::ALCR:
case SystemZ::ALGFR:
case SystemZ::ALGR:
case SystemZ::ALR:
case SystemZ::AR:
case SystemZ::AXBR:
case SystemZ::AsmELOCGR:
case SystemZ::AsmELOCR:
case SystemZ::AsmHELOCGR:
case SystemZ::AsmHELOCR:
case SystemZ::AsmHLOCGR:
case SystemZ::AsmHLOCR:
case SystemZ::AsmLELOCGR:
case SystemZ::AsmLELOCR:
case SystemZ::AsmLHLOCGR:
case SystemZ::AsmLHLOCR:
case SystemZ::AsmLLOCGR:
case SystemZ::AsmLLOCR:
case SystemZ::AsmNELOCGR:
case SystemZ::AsmNELOCR:
case SystemZ::AsmNHELOCGR:
case SystemZ::AsmNHELOCR:
case SystemZ::AsmNHLOCGR:
case SystemZ::AsmNHLOCR:
case SystemZ::AsmNLELOCGR:
case SystemZ::AsmNLELOCR:
case SystemZ::AsmNLHLOCGR:
case SystemZ::AsmNLHLOCR:
case SystemZ::AsmNLLOCGR:
case SystemZ::AsmNLLOCR:
case SystemZ::AsmNOLOCGR:
case SystemZ::AsmNOLOCR:
case SystemZ::AsmOLOCGR:
case SystemZ::AsmOLOCR:
case SystemZ::DDBR:
case SystemZ::DEBR:
case SystemZ::DLGR:
case SystemZ::DLR:
case SystemZ::DSGFR:
case SystemZ::DSGR:
case SystemZ::DXBR:
case SystemZ::MDBR:
case SystemZ::MDEBR:
case SystemZ::MEEBR:
case SystemZ::MLGR:
case SystemZ::MSGFR:
case SystemZ::MSGR:
case SystemZ::MSR:
case SystemZ::MXBR:
case SystemZ::MXDBR:
case SystemZ::NGR:
case SystemZ::NR:
case SystemZ::OGR:
case SystemZ::OR:
case SystemZ::SDBR:
case SystemZ::SEBR:
case SystemZ::SGFR:
case SystemZ::SGR:
case SystemZ::SLBGR:
case SystemZ::SLBR:
case SystemZ::SLGFR:
case SystemZ::SLGR:
case SystemZ::SLR:
case SystemZ::SR:
case SystemZ::SXBR:
case SystemZ::XGR:
case SystemZ::XR: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 4;
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= op & UINT64_C(15);
break;
}
case SystemZ::CFDBR:
case SystemZ::CFEBR:
case SystemZ::CFXBR:
case SystemZ::CGDBR:
case SystemZ::CGEBR:
case SystemZ::CGXBR:
case SystemZ::CPSDRdd:
case SystemZ::CPSDRds:
case SystemZ::CPSDRsd:
case SystemZ::CPSDRss:
case SystemZ::FIDBR:
case SystemZ::FIEBR:
case SystemZ::FIXBR: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 4;
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= op & UINT64_C(15);
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(15)) << 12;
break;
}
case SystemZ::CDLFBR:
case SystemZ::CDLGBR:
case SystemZ::CELFBR:
case SystemZ::CELGBR:
case SystemZ::CLFDBR:
case SystemZ::CLFEBR:
case SystemZ::CLFXBR:
case SystemZ::CLGDBR:
case SystemZ::CLGEBR:
case SystemZ::CLGXBR:
case SystemZ::CXLFBR:
case SystemZ::CXLGBR:
case SystemZ::FIDBRA:
case SystemZ::FIEBRA:
case SystemZ::FIXBRA:
case SystemZ::LDXBRA:
case SystemZ::LEDBRA:
case SystemZ::LEXBRA: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 4;
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= op & UINT64_C(15);
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(15)) << 12;
op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
Value |= (op & UINT64_C(15)) << 8;
break;
}
case SystemZ::AsmLOCGR:
case SystemZ::AsmLOCR: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 4;
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= op & UINT64_C(15);
op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
Value |= (op & UINT64_C(15)) << 12;
break;
}
case SystemZ::BRC: {
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(15)) << 20;
op = getPC16DBLEncoding(MI, 2, Fixups, STI);
Value |= op & UINT64_C(65535);
break;
}
case SystemZ::BRCL: {
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
op = getPC32DBLEncoding(MI, 2, Fixups, STI);
Value |= op & UINT64_C(4294967295);
break;
}
case SystemZ::AsmEBR:
case SystemZ::AsmHBR:
case SystemZ::AsmHEBR:
case SystemZ::AsmLBR:
case SystemZ::AsmLEBR:
case SystemZ::AsmLHBR:
case SystemZ::AsmNEBR:
case SystemZ::AsmNHBR:
case SystemZ::AsmNHEBR:
case SystemZ::AsmNLBR:
case SystemZ::AsmNLEBR:
case SystemZ::AsmNLHBR:
case SystemZ::AsmNOBR:
case SystemZ::AsmOBR:
case SystemZ::BR: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= op & UINT64_C(15);
break;
}
case SystemZ::VONE:
case SystemZ::VZERO: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
Value |= (op & UINT64_C(16)) << 7;
break;
}
case SystemZ::VLL:
case SystemZ::VSTL: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
Value |= (op & UINT64_C(16)) << 7;
op = getBDAddr12Encoding(MI, 2, Fixups, STI);
Value |= (op & UINT64_C(65535)) << 16;
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(15)) << 32;
break;
}
case SystemZ::VERLLB:
case SystemZ::VERLLF:
case SystemZ::VERLLG:
case SystemZ::VERLLH:
case SystemZ::VESLB:
case SystemZ::VESLF:
case SystemZ::VESLG:
case SystemZ::VESLH:
case SystemZ::VESRAB:
case SystemZ::VESRAF:
case SystemZ::VESRAG:
case SystemZ::VESRAH:
case SystemZ::VESRLB:
case SystemZ::VESRLF:
case SystemZ::VESRLG:
case SystemZ::VESRLH:
case SystemZ::VLM:
case SystemZ::VSTM: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
Value |= (op & UINT64_C(16)) << 7;
op = getBDAddr12Encoding(MI, 2, Fixups, STI);
Value |= (op & UINT64_C(65535)) << 16;
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(15)) << 32;
Value |= (op & UINT64_C(16)) << 6;
break;
}
case SystemZ::VLVGB:
case SystemZ::VLVGF:
case SystemZ::VLVGG:
case SystemZ::VLVGH: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
Value |= (op & UINT64_C(16)) << 7;
op = getBDAddr12Encoding(MI, 3, Fixups, STI);
Value |= (op & UINT64_C(65535)) << 16;
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(15)) << 32;
break;
}
case SystemZ::VGMB:
case SystemZ::VGMF:
case SystemZ::VGMG:
case SystemZ::VGMH: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
Value |= (op & UINT64_C(16)) << 7;
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(255)) << 24;
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(255)) << 16;
break;
}
case SystemZ::VGBM:
case SystemZ::VREPIB:
case SystemZ::VREPIF:
case SystemZ::VREPIG:
case SystemZ::VREPIH: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
Value |= (op & UINT64_C(16)) << 7;
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(65535)) << 16;
break;
}
case SystemZ::VLEIB:
case SystemZ::VLEIF:
case SystemZ::VLEIG:
case SystemZ::VLEIH: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
Value |= (op & UINT64_C(16)) << 7;
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(65535)) << 16;
op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
Value |= (op & UINT64_C(15)) << 12;
break;
}
case SystemZ::VLVGP: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
Value |= (op & UINT64_C(16)) << 7;
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(15)) << 32;
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(15)) << 28;
break;
}
case SystemZ::VCLZB:
case SystemZ::VCLZF:
case SystemZ::VCLZG:
case SystemZ::VCLZH:
case SystemZ::VCTZB:
case SystemZ::VCTZF:
case SystemZ::VCTZG:
case SystemZ::VCTZH:
case SystemZ::VECB:
case SystemZ::VECF:
case SystemZ::VECG:
case SystemZ::VECH:
case SystemZ::VECLB:
case SystemZ::VECLF:
case SystemZ::VECLG:
case SystemZ::VECLH:
case SystemZ::VFLCDB:
case SystemZ::VFLNDB:
case SystemZ::VFLPDB:
case SystemZ::VFSQDB:
case SystemZ::VISTRB:
case SystemZ::VISTRBS:
case SystemZ::VISTRF:
case SystemZ::VISTRFS:
case SystemZ::VISTRH:
case SystemZ::VISTRHS:
case SystemZ::VLCB:
case SystemZ::VLCF:
case SystemZ::VLCG:
case SystemZ::VLCH:
case SystemZ::VLDEB:
case SystemZ::VLPB:
case SystemZ::VLPF:
case SystemZ::VLPG:
case SystemZ::VLPH:
case SystemZ::VLR:
case SystemZ::VSEGB:
case SystemZ::VSEGF:
case SystemZ::VSEGH:
case SystemZ::VTM:
case SystemZ::VUPHB:
case SystemZ::VUPHF:
case SystemZ::VUPHH:
case SystemZ::VUPLB:
case SystemZ::VUPLF:
case SystemZ::VUPLHB:
case SystemZ::VUPLHF:
case SystemZ::VUPLHH:
case SystemZ::VUPLHW:
case SystemZ::VUPLLB:
case SystemZ::VUPLLF:
case SystemZ::VUPLLH:
case SystemZ::WFCDB:
case SystemZ::WFKDB:
case SystemZ::WFLCDB:
case SystemZ::WFLNDB:
case SystemZ::WFLPDB:
case SystemZ::WFSQDB:
case SystemZ::WLDEB: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
Value |= (op & UINT64_C(16)) << 7;
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(15)) << 32;
Value |= (op & UINT64_C(16)) << 6;
break;
}
case SystemZ::VFTCIDB:
case SystemZ::WFTCIDB: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
Value |= (op & UINT64_C(16)) << 7;
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(15)) << 32;
Value |= (op & UINT64_C(16)) << 6;
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(4095)) << 20;
break;
}
case SystemZ::VPOPCT: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
Value |= (op & UINT64_C(16)) << 7;
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(15)) << 32;
Value |= (op & UINT64_C(16)) << 6;
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(15)) << 12;
break;
}
case SystemZ::VCDGB:
case SystemZ::VCDLGB:
case SystemZ::VCGDB:
case SystemZ::VCLGDB:
case SystemZ::VFIDB:
case SystemZ::VLEDB: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
Value |= (op & UINT64_C(16)) << 7;
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(15)) << 32;
Value |= (op & UINT64_C(16)) << 6;
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(15)) << 16;
op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
Value |= (op & UINT64_C(15)) << 20;
break;
}
case SystemZ::WCDGB:
case SystemZ::WCDLGB:
case SystemZ::WCGDB:
case SystemZ::WCLGDB:
case SystemZ::WFIDB:
case SystemZ::WLEDB: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
Value |= (op & UINT64_C(16)) << 7;
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(15)) << 32;
Value |= (op & UINT64_C(16)) << 6;
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(7)) << 16;
op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
Value |= (op & UINT64_C(15)) << 20;
break;
}
case SystemZ::VAB:
case SystemZ::VACCB:
case SystemZ::VACCF:
case SystemZ::VACCG:
case SystemZ::VACCH:
case SystemZ::VACCQ:
case SystemZ::VAF:
case SystemZ::VAG:
case SystemZ::VAH:
case SystemZ::VAQ:
case SystemZ::VAVGB:
case SystemZ::VAVGF:
case SystemZ::VAVGG:
case SystemZ::VAVGH:
case SystemZ::VAVGLB:
case SystemZ::VAVGLF:
case SystemZ::VAVGLG:
case SystemZ::VAVGLH:
case SystemZ::VCEQB:
case SystemZ::VCEQBS:
case SystemZ::VCEQF:
case SystemZ::VCEQFS:
case SystemZ::VCEQG:
case SystemZ::VCEQGS:
case SystemZ::VCEQH:
case SystemZ::VCEQHS:
case SystemZ::VCHB:
case SystemZ::VCHBS:
case SystemZ::VCHF:
case SystemZ::VCHFS:
case SystemZ::VCHG:
case SystemZ::VCHGS:
case SystemZ::VCHH:
case SystemZ::VCHHS:
case SystemZ::VCHLB:
case SystemZ::VCHLBS:
case SystemZ::VCHLF:
case SystemZ::VCHLFS:
case SystemZ::VCHLG:
case SystemZ::VCHLGS:
case SystemZ::VCHLH:
case SystemZ::VCHLHS:
case SystemZ::VCKSM:
case SystemZ::VERLLVB:
case SystemZ::VERLLVF:
case SystemZ::VERLLVG:
case SystemZ::VERLLVH:
case SystemZ::VESLVB:
case SystemZ::VESLVF:
case SystemZ::VESLVG:
case SystemZ::VESLVH:
case SystemZ::VESRAVB:
case SystemZ::VESRAVF:
case SystemZ::VESRAVG:
case SystemZ::VESRAVH:
case SystemZ::VESRLVB:
case SystemZ::VESRLVF:
case SystemZ::VESRLVG:
case SystemZ::VESRLVH:
case SystemZ::VFADB:
case SystemZ::VFCEDB:
case SystemZ::VFCEDBS:
case SystemZ::VFCHDB:
case SystemZ::VFCHDBS:
case SystemZ::VFCHEDB:
case SystemZ::VFCHEDBS:
case SystemZ::VFDDB:
case SystemZ::VFEEB:
case SystemZ::VFEEBS:
case SystemZ::VFEEF:
case SystemZ::VFEEFS:
case SystemZ::VFEEH:
case SystemZ::VFEEHS:
case SystemZ::VFEEZB:
case SystemZ::VFEEZBS:
case SystemZ::VFEEZF:
case SystemZ::VFEEZFS:
case SystemZ::VFEEZH:
case SystemZ::VFEEZHS:
case SystemZ::VFENEB:
case SystemZ::VFENEBS:
case SystemZ::VFENEF:
case SystemZ::VFENEFS:
case SystemZ::VFENEH:
case SystemZ::VFENEHS:
case SystemZ::VFENEZB:
case SystemZ::VFENEZBS:
case SystemZ::VFENEZF:
case SystemZ::VFENEZFS:
case SystemZ::VFENEZH:
case SystemZ::VFENEZHS:
case SystemZ::VFMDB:
case SystemZ::VFSDB:
case SystemZ::VGFMB:
case SystemZ::VGFMF:
case SystemZ::VGFMG:
case SystemZ::VGFMH:
case SystemZ::VMEB:
case SystemZ::VMEF:
case SystemZ::VMEH:
case SystemZ::VMHB:
case SystemZ::VMHF:
case SystemZ::VMHH:
case SystemZ::VMLB:
case SystemZ::VMLEB:
case SystemZ::VMLEF:
case SystemZ::VMLEH:
case SystemZ::VMLF:
case SystemZ::VMLHB:
case SystemZ::VMLHF:
case SystemZ::VMLHH:
case SystemZ::VMLHW:
case SystemZ::VMLOB:
case SystemZ::VMLOF:
case SystemZ::VMLOH:
case SystemZ::VMNB:
case SystemZ::VMNF:
case SystemZ::VMNG:
case SystemZ::VMNH:
case SystemZ::VMNLB:
case SystemZ::VMNLF:
case SystemZ::VMNLG:
case SystemZ::VMNLH:
case SystemZ::VMOB:
case SystemZ::VMOF:
case SystemZ::VMOH:
case SystemZ::VMRHB:
case SystemZ::VMRHF:
case SystemZ::VMRHG:
case SystemZ::VMRHH:
case SystemZ::VMRLB:
case SystemZ::VMRLF:
case SystemZ::VMRLG:
case SystemZ::VMRLH:
case SystemZ::VMXB:
case SystemZ::VMXF:
case SystemZ::VMXG:
case SystemZ::VMXH:
case SystemZ::VMXLB:
case SystemZ::VMXLF:
case SystemZ::VMXLG:
case SystemZ::VMXLH:
case SystemZ::VN:
case SystemZ::VNC:
case SystemZ::VNO:
case SystemZ::VO:
case SystemZ::VPKF:
case SystemZ::VPKG:
case SystemZ::VPKH:
case SystemZ::VPKLSF:
case SystemZ::VPKLSFS:
case SystemZ::VPKLSG:
case SystemZ::VPKLSGS:
case SystemZ::VPKLSH:
case SystemZ::VPKLSHS:
case SystemZ::VPKSF:
case SystemZ::VPKSFS:
case SystemZ::VPKSG:
case SystemZ::VPKSGS:
case SystemZ::VPKSH:
case SystemZ::VPKSHS:
case SystemZ::VSB:
case SystemZ::VSCBIB:
case SystemZ::VSCBIF:
case SystemZ::VSCBIG:
case SystemZ::VSCBIH:
case SystemZ::VSCBIQ:
case SystemZ::VSF:
case SystemZ::VSG:
case SystemZ::VSH:
case SystemZ::VSL:
case SystemZ::VSLB:
case SystemZ::VSQ:
case SystemZ::VSRA:
case SystemZ::VSRAB:
case SystemZ::VSRL:
case SystemZ::VSRLB:
case SystemZ::VSUMB:
case SystemZ::VSUMGF:
case SystemZ::VSUMGH:
case SystemZ::VSUMH:
case SystemZ::VSUMQF:
case SystemZ::VSUMQG:
case SystemZ::VX:
case SystemZ::WFADB:
case SystemZ::WFCEDB:
case SystemZ::WFCEDBS:
case SystemZ::WFCHDB:
case SystemZ::WFCHDBS:
case SystemZ::WFCHEDB:
case SystemZ::WFCHEDBS:
case SystemZ::WFDDB:
case SystemZ::WFMDB:
case SystemZ::WFSDB: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
Value |= (op & UINT64_C(16)) << 7;
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(15)) << 32;
Value |= (op & UINT64_C(16)) << 6;
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(15)) << 28;
Value |= (op & UINT64_C(16)) << 5;
break;
}
case SystemZ::VSLDB: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
Value |= (op & UINT64_C(16)) << 7;
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(15)) << 32;
Value |= (op & UINT64_C(16)) << 6;
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(15)) << 28;
Value |= (op & UINT64_C(16)) << 5;
op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
Value |= (op & UINT64_C(255)) << 16;
break;
}
case SystemZ::VPDI: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
Value |= (op & UINT64_C(16)) << 7;
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(15)) << 32;
Value |= (op & UINT64_C(16)) << 6;
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(15)) << 28;
Value |= (op & UINT64_C(16)) << 5;
op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
Value |= (op & UINT64_C(15)) << 12;
break;
}
case SystemZ::VFAEZBS:
case SystemZ::VFAEZFS:
case SystemZ::VFAEZHS: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
Value |= (op & UINT64_C(16)) << 7;
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(15)) << 32;
Value |= (op & UINT64_C(16)) << 6;
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(15)) << 28;
Value |= (op & UINT64_C(16)) << 5;
op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
Value |= (op & UINT64_C(12)) << 20;
break;
}
case SystemZ::VFAEZB:
case SystemZ::VFAEZF:
case SystemZ::VFAEZH: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
Value |= (op & UINT64_C(16)) << 7;
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(15)) << 32;
Value |= (op & UINT64_C(16)) << 6;
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(15)) << 28;
Value |= (op & UINT64_C(16)) << 5;
op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
Value |= (op & UINT64_C(12)) << 20;
Value |= (op & UINT64_C(1)) << 20;
break;
}
case SystemZ::VFAEBS:
case SystemZ::VFAEFS:
case SystemZ::VFAEHS: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
Value |= (op & UINT64_C(16)) << 7;
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(15)) << 32;
Value |= (op & UINT64_C(16)) << 6;
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(15)) << 28;
Value |= (op & UINT64_C(16)) << 5;
op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
Value |= (op & UINT64_C(14)) << 20;
break;
}
case SystemZ::VFAEB:
case SystemZ::VFAEF:
case SystemZ::VFAEH: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
Value |= (op & UINT64_C(16)) << 7;
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(15)) << 32;
Value |= (op & UINT64_C(16)) << 6;
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(15)) << 28;
Value |= (op & UINT64_C(16)) << 5;
op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
Value |= (op & UINT64_C(15)) << 20;
break;
}
case SystemZ::VACCCQ:
case SystemZ::VACQ:
case SystemZ::VFMADB:
case SystemZ::VFMSDB:
case SystemZ::VGFMAB:
case SystemZ::VGFMAF:
case SystemZ::VGFMAG:
case SystemZ::VGFMAH:
case SystemZ::VMAEB:
case SystemZ::VMAEF:
case SystemZ::VMAEH:
case SystemZ::VMAHB:
case SystemZ::VMAHF:
case SystemZ::VMAHH:
case SystemZ::VMALB:
case SystemZ::VMALEB:
case SystemZ::VMALEF:
case SystemZ::VMALEH:
case SystemZ::VMALF:
case SystemZ::VMALHB:
case SystemZ::VMALHF:
case SystemZ::VMALHH:
case SystemZ::VMALHW:
case SystemZ::VMALOB:
case SystemZ::VMALOF:
case SystemZ::VMALOH:
case SystemZ::VMAOB:
case SystemZ::VMAOF:
case SystemZ::VMAOH:
case SystemZ::VPERM:
case SystemZ::VSBCBIQ:
case SystemZ::VSBIQ:
case SystemZ::VSEL:
case SystemZ::WFMADB:
case SystemZ::WFMSDB: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
Value |= (op & UINT64_C(16)) << 7;
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(15)) << 32;
Value |= (op & UINT64_C(16)) << 6;
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(15)) << 28;
Value |= (op & UINT64_C(16)) << 5;
op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
Value |= (op & UINT64_C(15)) << 12;
Value |= (op & UINT64_C(16)) << 4;
break;
}
case SystemZ::VSTRCZBS:
case SystemZ::VSTRCZFS:
case SystemZ::VSTRCZHS: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
Value |= (op & UINT64_C(16)) << 7;
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(15)) << 32;
Value |= (op & UINT64_C(16)) << 6;
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(15)) << 28;
Value |= (op & UINT64_C(16)) << 5;
op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
Value |= (op & UINT64_C(15)) << 12;
Value |= (op & UINT64_C(16)) << 4;
op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
Value |= (op & UINT64_C(12)) << 20;
break;
}
case SystemZ::VSTRCZB:
case SystemZ::VSTRCZF:
case SystemZ::VSTRCZH: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
Value |= (op & UINT64_C(16)) << 7;
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(15)) << 32;
Value |= (op & UINT64_C(16)) << 6;
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(15)) << 28;
Value |= (op & UINT64_C(16)) << 5;
op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
Value |= (op & UINT64_C(15)) << 12;
Value |= (op & UINT64_C(16)) << 4;
op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
Value |= (op & UINT64_C(12)) << 20;
Value |= (op & UINT64_C(1)) << 20;
break;
}
case SystemZ::VSTRCBS:
case SystemZ::VSTRCFS:
case SystemZ::VSTRCHS: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
Value |= (op & UINT64_C(16)) << 7;
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(15)) << 32;
Value |= (op & UINT64_C(16)) << 6;
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(15)) << 28;
Value |= (op & UINT64_C(16)) << 5;
op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
Value |= (op & UINT64_C(15)) << 12;
Value |= (op & UINT64_C(16)) << 4;
op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
Value |= (op & UINT64_C(14)) << 20;
break;
}
case SystemZ::VSTRCB:
case SystemZ::VSTRCF:
case SystemZ::VSTRCH: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
Value |= (op & UINT64_C(16)) << 7;
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(15)) << 32;
Value |= (op & UINT64_C(16)) << 6;
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(15)) << 28;
Value |= (op & UINT64_C(16)) << 5;
op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
Value |= (op & UINT64_C(15)) << 12;
Value |= (op & UINT64_C(16)) << 4;
op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
Value |= (op & UINT64_C(15)) << 20;
break;
}
case SystemZ::VERIMB:
case SystemZ::VERIMF:
case SystemZ::VERIMG:
case SystemZ::VERIMH: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
Value |= (op & UINT64_C(16)) << 7;
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(15)) << 32;
Value |= (op & UINT64_C(16)) << 6;
op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
Value |= (op & UINT64_C(15)) << 28;
Value |= (op & UINT64_C(16)) << 5;
op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
Value |= (op & UINT64_C(255)) << 16;
break;
}
case SystemZ::VREPB:
case SystemZ::VREPF:
case SystemZ::VREPG:
case SystemZ::VREPH: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
Value |= (op & UINT64_C(16)) << 7;
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(15)) << 32;
Value |= (op & UINT64_C(16)) << 6;
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(65535)) << 16;
break;
}
case SystemZ::VSCEF:
case SystemZ::VSCEG: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
Value |= (op & UINT64_C(16)) << 7;
op = getBDVAddr12Encoding(MI, 1, Fixups, STI);
Value |= (op & UINT64_C(1048575)) << 16;
Value |= (op & UINT64_C(1048576)) >> 10;
op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
Value |= (op & UINT64_C(15)) << 12;
break;
}
case SystemZ::VGEF:
case SystemZ::VGEG: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
Value |= (op & UINT64_C(16)) << 7;
op = getBDVAddr12Encoding(MI, 2, Fixups, STI);
Value |= (op & UINT64_C(1048575)) << 16;
Value |= (op & UINT64_C(1048576)) >> 10;
op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
Value |= (op & UINT64_C(15)) << 12;
break;
}
case SystemZ::VL:
case SystemZ::VLLEZB:
case SystemZ::VLLEZF:
case SystemZ::VLLEZG:
case SystemZ::VLLEZH:
case SystemZ::VLREPB:
case SystemZ::VLREPF:
case SystemZ::VLREPG:
case SystemZ::VLREPH:
case SystemZ::VST: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
Value |= (op & UINT64_C(16)) << 7;
op = getBDXAddr12Encoding(MI, 1, Fixups, STI);
Value |= (op & UINT64_C(1048575)) << 16;
break;
}
case SystemZ::VLBB:
case SystemZ::VSTEB:
case SystemZ::VSTEF:
case SystemZ::VSTEG:
case SystemZ::VSTEH: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
Value |= (op & UINT64_C(16)) << 7;
op = getBDXAddr12Encoding(MI, 1, Fixups, STI);
Value |= (op & UINT64_C(1048575)) << 16;
op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
Value |= (op & UINT64_C(15)) << 12;
break;
}
case SystemZ::VLEB:
case SystemZ::VLEF:
case SystemZ::VLEG:
case SystemZ::VLEH: {
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 36;
Value |= (op & UINT64_C(16)) << 7;
op = getBDXAddr12Encoding(MI, 2, Fixups, STI);
Value |= (op & UINT64_C(1048575)) << 16;
op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
Value |= (op & UINT64_C(15)) << 12;
break;
}
default:
std::string msg;
raw_string_ostream Msg(msg);
Msg << "Not supported instr: " << MI;
report_fatal_error(Msg.str());
}
return Value;
}