POWER9
{"maddhd", VXA(4, 48), VXA_MASK, POWER9, 0, {RT, RA, RB, RC}},
{"maddhdu", VXA(4, 49), VXA_MASK, POWER9, 0, {RT, RA, RB, RC}},
{"maddld", VXA(4, 51), VXA_MASK, POWER9, 0, {RT, RA, RB, RC}},
{"addpcis", DX(19,2), DX_MASK, POWER9, PPCVLE, {RT, DXD}},
{"subpcis", DX(19,2), DX_MASK, POWER9, PPCVLE, {RT, NDXD}},
{"urfid", XL(19,306), 0xffffffff, POWER9, PPCVLE, {0}},
{"stop", XL(19,370), 0xffffffff, POWER9, PPCVLE, {0}},
{"doze", XL(19,402), 0xffffffff, POWER6, POWER9|PPCVLE, {0}},
{"nap", XL(19,434), 0xffffffff, POWER6, POWER9|PPCVLE, {0}},
{"sleep", XL(19,466), 0xffffffff, POWER6, POWER9|PPCVLE, {0}},
{"rvwinkle", XL(19,498), 0xffffffff, POWER6, POWER9|PPCVLE, {0}},
{"waitasec", X(31,30), XRTRARB_MASK, POWER8, POWER9, {0}},
{"wait", X(31,30), XWC_MASK, POWER9, 0, {WC}},
{"setb", X(31,128), XRB_MASK|(3<<16), POWER9, 0, {RT, BFA}},
{"addex", ZRC(31,170,0), Z2_MASK, POWER9, 0, {RT, RA, RB, CY}},
{"cmprb", X(31,192), XCMP_MASK, POWER9, 0, {BF, L, RA, RB}},
{"cmpeqb", X(31,224), XCMPL_MASK, POWER9, 0, {BF, RA, RB}},
{"modud", X(31,265), X_MASK, POWER9, 0, {RT, RA, RB}},
{"moduw", X(31,267), X_MASK, POWER9, 0, {RT, RA, RB}},
{"tlbiel", X(31,274), X_MASK|1<<20,POWER9, PPC476, {RB, RSO, RIC, PRS, X_R}},
{"tlbiel", X(31,274), XRTLRA_MASK, POWER4, POWER9|PPC476, {RB, LOPT}},
{"tlbie", X(31,306), X_MASK|1<<20,POWER9, TITAN, {RB, RS, RIC, PRS, X_R}},
{"tlbie", X(31,306), XRA_MASK, POWER7, POWER9|TITAN, {RB, RS}},
{"ldmx", X(31,309), X_MASK, POWER9, 0, {RT, RA0, RB}},
{"slbsync", X(31,338), 0xffffffff, POWER9, 0, {0}},
{"slbieg", X(31,466), XRA_MASK, POWER9, 0, {RS, RB}},
{"cnttzw", XRC(31,538,0), XRB_MASK, POWER9, 0, {RA, RS}},
{"cnttzw.", XRC(31,538,1), XRB_MASK, POWER9, 0, {RA, RS}},
{"cnttzd", XRC(31,570,0), XRB_MASK, POWER9, 0, {RA, RS}},
{"cnttzd.", XRC(31,570,1), XRB_MASK, POWER9, 0, {RA, RS}},
{"mcrxrx", X(31,576), XBFRARB_MASK, POWER9, 0, {BF}},
{"lwat", X(31,582), X_MASK, POWER9, 0, {RT, RA0, FC}},
{"ldat", X(31,614), X_MASK, POWER9, 0, {RT, RA0, FC}},
{"stwat", X(31,710), X_MASK, POWER9, 0, {RS, RA0, FC}},
{"stdat", X(31,742), X_MASK, POWER9, 0, {RS, RA0, FC}},
{"darn", X(31,755), XLRAND_MASK, POWER9, 0, {RT, LRAND}},
{"copy", XOPL(31,774,1), XRT_MASK, POWER9, 0, {RA0, RB}},
{"modsd", X(31,777), X_MASK, POWER9, 0, {RT, RA, RB}},
{"modsw", X(31,779), X_MASK, POWER9, 0, {RT, RA, RB}},
{"cpabort", X(31,838), XRTRARB_MASK,POWER9, 0, {0}},
{"lxvx", X(31,844), XX1_MASK, POWER8, POWER9|PPCVSX3, {XT6, RA0, RB}},
{"slbiag", X(31,850), XRARB_MASK, POWER9, 0, {RS}},
{"slbmfev", X(31,851), XRLA_MASK, POWER9, 0, {RT, RB, A_L}},
{"slbmfev", X(31,851), XRA_MASK, PPC64, POWER9, {RT, RB}},
{"rmieg", X(31,882), XRTRA_MASK, POWER9, 0, {RB}},
{"msgsync", X(31,886), 0xffffffff, POWER9, 0, {0}},
{"extswsli", XS(31,445,0), XS_MASK, POWER9, 0, {RA, RS, SH6}},
{"extswsli.", XS(31,445,1), XS_MASK, POWER9, 0, {RA, RS, SH6}},
{"paste.", XRCL(31,902,1,1),XRT_MASK, POWER9, 0, {RA0, RB}},
{"slbmfee", X(31,915), XRLA_MASK, POWER9, 0, {RT, RB, A_L}},
{"slbmfee", X(31,915), XRA_MASK, PPC64, POWER9, {RT, RB}},
{"stxvx", X(31,972), XX1_MASK, POWER8, POWER9|PPCVSX3, {XS6, RA0, RB}},
{"dtstsfi", X(59,675), X_MASK|1<<22,POWER9, PPCVLE, {BF, UIM6, FRB}},
{"mffsce", XMMF(63,583,0,1), XMMF_MASK|RB_MASK, POWER9, PPCVLE, {FRT}},
{"mffscdrn", XMMF(63,583,2,4), XMMF_MASK, POWER9, PPCVLE, {FRT, FRB}},
{"mffscdrni", XMMF(63,583,2,5), XMMF_MASK|(3<<14), POWER9, PPCVLE, {FRT, DRM}},
{"mffscrn", XMMF(63,583,2,6), XMMF_MASK, POWER9, PPCVLE, {FRT, FRB}},
{"mffscrni", XMMF(63,583,2,7), XMMF_MASK|(7<<13), POWER9, PPCVLE, {FRT, RM}},
{"mffsl", XMMF(63,583,3,0), XMMF_MASK|RB_MASK, POWER9, PPCVLE, {FRT}},
{"dtstsfiq", X(63,675), X_MASK|1<<22,POWER9, PPCVLE, {BF, UIM6, FRBp}},
SKIP_IF(PVR_VER(pvr) != POWER9);
SKIP_IF(PVR_VER(mfspr(SPRN_PVR)) != POWER9);
} else if (PVR_VER(mfspr(SPRN_PVR)) == POWER9) {
} else if (PVR_VER(mfspr(SPRN_PVR)) == POWER9) {
case POWER9:
base_pvr = POWER9;
case POWER9: