You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
keystone/llvm/lib/Target/SystemZ/SystemZGenMCCodeEmitter.inc

3473 lines
109 KiB

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