1*139c1837SPaolo BonziniGEN_HANDLER_E(lxsdx, 0x1F, 0x0C, 0x12, 0, PPC_NONE, PPC2_VSX), 2*139c1837SPaolo BonziniGEN_HANDLER_E(lxsiwax, 0x1F, 0x0C, 0x02, 0, PPC_NONE, PPC2_VSX207), 3*139c1837SPaolo BonziniGEN_HANDLER_E(lxsiwzx, 0x1F, 0x0C, 0x00, 0, PPC_NONE, PPC2_VSX207), 4*139c1837SPaolo BonziniGEN_HANDLER_E(lxsibzx, 0x1F, 0x0D, 0x18, 0, PPC_NONE, PPC2_ISA300), 5*139c1837SPaolo BonziniGEN_HANDLER_E(lxsihzx, 0x1F, 0x0D, 0x19, 0, PPC_NONE, PPC2_ISA300), 6*139c1837SPaolo BonziniGEN_HANDLER_E(lxsspx, 0x1F, 0x0C, 0x10, 0, PPC_NONE, PPC2_VSX207), 7*139c1837SPaolo BonziniGEN_HANDLER_E(lxvd2x, 0x1F, 0x0C, 0x1A, 0, PPC_NONE, PPC2_VSX), 8*139c1837SPaolo BonziniGEN_HANDLER_E(lxvdsx, 0x1F, 0x0C, 0x0A, 0, PPC_NONE, PPC2_VSX), 9*139c1837SPaolo BonziniGEN_HANDLER_E(lxvw4x, 0x1F, 0x0C, 0x18, 0, PPC_NONE, PPC2_VSX), 10*139c1837SPaolo BonziniGEN_HANDLER_E(lxvh8x, 0x1F, 0x0C, 0x19, 0, PPC_NONE, PPC2_ISA300), 11*139c1837SPaolo BonziniGEN_HANDLER_E(lxvb16x, 0x1F, 0x0C, 0x1B, 0, PPC_NONE, PPC2_ISA300), 12*139c1837SPaolo BonziniGEN_HANDLER_E(lxvx, 0x1F, 0x0C, 0x08, 0x00000040, PPC_NONE, PPC2_ISA300), 13*139c1837SPaolo Bonzini#if defined(TARGET_PPC64) 14*139c1837SPaolo BonziniGEN_HANDLER_E(lxvl, 0x1F, 0x0D, 0x08, 0, PPC_NONE, PPC2_ISA300), 15*139c1837SPaolo BonziniGEN_HANDLER_E(lxvll, 0x1F, 0x0D, 0x09, 0, PPC_NONE, PPC2_ISA300), 16*139c1837SPaolo Bonzini#endif 17*139c1837SPaolo Bonzini 18*139c1837SPaolo BonziniGEN_HANDLER_E(stxsdx, 0x1F, 0xC, 0x16, 0, PPC_NONE, PPC2_VSX), 19*139c1837SPaolo BonziniGEN_HANDLER_E(stxsibx, 0x1F, 0xD, 0x1C, 0, PPC_NONE, PPC2_ISA300), 20*139c1837SPaolo BonziniGEN_HANDLER_E(stxsihx, 0x1F, 0xD, 0x1D, 0, PPC_NONE, PPC2_ISA300), 21*139c1837SPaolo BonziniGEN_HANDLER_E(stxsiwx, 0x1F, 0xC, 0x04, 0, PPC_NONE, PPC2_VSX207), 22*139c1837SPaolo BonziniGEN_HANDLER_E(stxsspx, 0x1F, 0xC, 0x14, 0, PPC_NONE, PPC2_VSX207), 23*139c1837SPaolo BonziniGEN_HANDLER_E(stxvd2x, 0x1F, 0xC, 0x1E, 0, PPC_NONE, PPC2_VSX), 24*139c1837SPaolo BonziniGEN_HANDLER_E(stxvw4x, 0x1F, 0xC, 0x1C, 0, PPC_NONE, PPC2_VSX), 25*139c1837SPaolo BonziniGEN_HANDLER_E(stxvh8x, 0x1F, 0x0C, 0x1D, 0, PPC_NONE, PPC2_ISA300), 26*139c1837SPaolo BonziniGEN_HANDLER_E(stxvb16x, 0x1F, 0x0C, 0x1F, 0, PPC_NONE, PPC2_ISA300), 27*139c1837SPaolo BonziniGEN_HANDLER_E(stxvx, 0x1F, 0x0C, 0x0C, 0, PPC_NONE, PPC2_ISA300), 28*139c1837SPaolo Bonzini#if defined(TARGET_PPC64) 29*139c1837SPaolo BonziniGEN_HANDLER_E(stxvl, 0x1F, 0x0D, 0x0C, 0, PPC_NONE, PPC2_ISA300), 30*139c1837SPaolo BonziniGEN_HANDLER_E(stxvll, 0x1F, 0x0D, 0x0D, 0, PPC_NONE, PPC2_ISA300), 31*139c1837SPaolo Bonzini#endif 32*139c1837SPaolo Bonzini 33*139c1837SPaolo BonziniGEN_HANDLER_E(mfvsrwz, 0x1F, 0x13, 0x03, 0x0000F800, PPC_NONE, PPC2_VSX207), 34*139c1837SPaolo BonziniGEN_HANDLER_E(mtvsrwa, 0x1F, 0x13, 0x06, 0x0000F800, PPC_NONE, PPC2_VSX207), 35*139c1837SPaolo BonziniGEN_HANDLER_E(mtvsrwz, 0x1F, 0x13, 0x07, 0x0000F800, PPC_NONE, PPC2_VSX207), 36*139c1837SPaolo Bonzini#if defined(TARGET_PPC64) 37*139c1837SPaolo BonziniGEN_HANDLER_E(mfvsrd, 0x1F, 0x13, 0x01, 0x0000F800, PPC_NONE, PPC2_VSX207), 38*139c1837SPaolo BonziniGEN_HANDLER_E(mtvsrd, 0x1F, 0x13, 0x05, 0x0000F800, PPC_NONE, PPC2_VSX207), 39*139c1837SPaolo BonziniGEN_HANDLER_E(mfvsrld, 0X1F, 0x13, 0x09, 0x0000F800, PPC_NONE, PPC2_ISA300), 40*139c1837SPaolo BonziniGEN_HANDLER_E(mtvsrdd, 0X1F, 0x13, 0x0D, 0x0, PPC_NONE, PPC2_ISA300), 41*139c1837SPaolo BonziniGEN_HANDLER_E(mtvsrws, 0x1F, 0x13, 0x0C, 0x0000F800, PPC_NONE, PPC2_ISA300), 42*139c1837SPaolo Bonzini#endif 43*139c1837SPaolo Bonzini 44*139c1837SPaolo Bonzini#define GEN_XX1FORM(name, opc2, opc3, fl2) \ 45*139c1837SPaolo BonziniGEN_HANDLER2_E(name, #name, 0x3C, opc2 | 0, opc3, 0, PPC_NONE, fl2), \ 46*139c1837SPaolo BonziniGEN_HANDLER2_E(name, #name, 0x3C, opc2 | 1, opc3, 0, PPC_NONE, fl2) 47*139c1837SPaolo Bonzini 48*139c1837SPaolo Bonzini#define GEN_XX2FORM(name, opc2, opc3, fl2) \ 49*139c1837SPaolo BonziniGEN_HANDLER2_E(name, #name, 0x3C, opc2 | 0, opc3, 0, PPC_NONE, fl2), \ 50*139c1837SPaolo BonziniGEN_HANDLER2_E(name, #name, 0x3C, opc2 | 1, opc3, 0, PPC_NONE, fl2) 51*139c1837SPaolo Bonzini 52*139c1837SPaolo Bonzini#define GEN_XX2FORM_EXT(name, opc2, opc3, fl2) \ 53*139c1837SPaolo BonziniGEN_HANDLER2_E(name, #name, 0x3C, opc2 | 0, opc3, 0x00100000, PPC_NONE, fl2), \ 54*139c1837SPaolo BonziniGEN_HANDLER2_E(name, #name, 0x3C, opc2 | 1, opc3, 0x00100000, PPC_NONE, fl2) 55*139c1837SPaolo Bonzini 56*139c1837SPaolo Bonzini#define GEN_XX2FORM_EO(name, opc2, opc3, opc4, fl2) \ 57*139c1837SPaolo BonziniGEN_HANDLER2_E_2(name, #name, 0x3C, opc2 | 0, opc3, opc4, 0, PPC_NONE, fl2), \ 58*139c1837SPaolo BonziniGEN_HANDLER2_E_2(name, #name, 0x3C, opc2 | 1, opc3, opc4, 0, PPC_NONE, fl2) 59*139c1837SPaolo Bonzini 60*139c1837SPaolo Bonzini#define GEN_XX3FORM(name, opc2, opc3, fl2) \ 61*139c1837SPaolo BonziniGEN_HANDLER2_E(name, #name, 0x3C, opc2 | 0, opc3, 0, PPC_NONE, fl2), \ 62*139c1837SPaolo BonziniGEN_HANDLER2_E(name, #name, 0x3C, opc2 | 1, opc3, 0, PPC_NONE, fl2), \ 63*139c1837SPaolo BonziniGEN_HANDLER2_E(name, #name, 0x3C, opc2 | 2, opc3, 0, PPC_NONE, fl2), \ 64*139c1837SPaolo BonziniGEN_HANDLER2_E(name, #name, 0x3C, opc2 | 3, opc3, 0, PPC_NONE, fl2) 65*139c1837SPaolo Bonzini 66*139c1837SPaolo Bonzini#define GEN_XX3FORM_NAME(name, opcname, opc2, opc3, fl2) \ 67*139c1837SPaolo BonziniGEN_HANDLER2_E(name, opcname, 0x3C, opc2 | 0, opc3, 0, PPC_NONE, fl2), \ 68*139c1837SPaolo BonziniGEN_HANDLER2_E(name, opcname, 0x3C, opc2 | 1, opc3, 0, PPC_NONE, fl2), \ 69*139c1837SPaolo BonziniGEN_HANDLER2_E(name, opcname, 0x3C, opc2 | 2, opc3, 0, PPC_NONE, fl2), \ 70*139c1837SPaolo BonziniGEN_HANDLER2_E(name, opcname, 0x3C, opc2 | 3, opc3, 0, PPC_NONE, fl2) 71*139c1837SPaolo Bonzini 72*139c1837SPaolo Bonzini#define GEN_XX2IFORM(name, opc2, opc3, fl2) \ 73*139c1837SPaolo BonziniGEN_HANDLER2_E(name, #name, 0x3C, opc2 | 0, opc3, 1, PPC_NONE, fl2), \ 74*139c1837SPaolo BonziniGEN_HANDLER2_E(name, #name, 0x3C, opc2 | 1, opc3, 1, PPC_NONE, fl2), \ 75*139c1837SPaolo BonziniGEN_HANDLER2_E(name, #name, 0x3C, opc2 | 2, opc3, 1, PPC_NONE, fl2), \ 76*139c1837SPaolo BonziniGEN_HANDLER2_E(name, #name, 0x3C, opc2 | 3, opc3, 1, PPC_NONE, fl2) 77*139c1837SPaolo Bonzini 78*139c1837SPaolo Bonzini#define GEN_XX3_RC_FORM(name, opc2, opc3, fl2) \ 79*139c1837SPaolo BonziniGEN_HANDLER2_E(name, #name, 0x3C, opc2 | 0x00, opc3 | 0x00, 0, PPC_NONE, fl2), \ 80*139c1837SPaolo BonziniGEN_HANDLER2_E(name, #name, 0x3C, opc2 | 0x01, opc3 | 0x00, 0, PPC_NONE, fl2), \ 81*139c1837SPaolo BonziniGEN_HANDLER2_E(name, #name, 0x3C, opc2 | 0x02, opc3 | 0x00, 0, PPC_NONE, fl2), \ 82*139c1837SPaolo BonziniGEN_HANDLER2_E(name, #name, 0x3C, opc2 | 0x03, opc3 | 0x00, 0, PPC_NONE, fl2), \ 83*139c1837SPaolo BonziniGEN_HANDLER2_E(name, #name, 0x3C, opc2 | 0x00, opc3 | 0x10, 0, PPC_NONE, fl2), \ 84*139c1837SPaolo BonziniGEN_HANDLER2_E(name, #name, 0x3C, opc2 | 0x01, opc3 | 0x10, 0, PPC_NONE, fl2), \ 85*139c1837SPaolo BonziniGEN_HANDLER2_E(name, #name, 0x3C, opc2 | 0x02, opc3 | 0x10, 0, PPC_NONE, fl2), \ 86*139c1837SPaolo BonziniGEN_HANDLER2_E(name, #name, 0x3C, opc2 | 0x03, opc3 | 0x10, 0, PPC_NONE, fl2) 87*139c1837SPaolo Bonzini 88*139c1837SPaolo Bonzini#define GEN_XX3FORM_DM(name, opc2, opc3) \ 89*139c1837SPaolo BonziniGEN_HANDLER2_E(name, #name, 0x3C, opc2|0x00, opc3|0x00, 0, PPC_NONE, PPC2_VSX),\ 90*139c1837SPaolo BonziniGEN_HANDLER2_E(name, #name, 0x3C, opc2|0x01, opc3|0x00, 0, PPC_NONE, PPC2_VSX),\ 91*139c1837SPaolo BonziniGEN_HANDLER2_E(name, #name, 0x3C, opc2|0x02, opc3|0x00, 0, PPC_NONE, PPC2_VSX),\ 92*139c1837SPaolo BonziniGEN_HANDLER2_E(name, #name, 0x3C, opc2|0x03, opc3|0x00, 0, PPC_NONE, PPC2_VSX),\ 93*139c1837SPaolo BonziniGEN_HANDLER2_E(name, #name, 0x3C, opc2|0x00, opc3|0x04, 0, PPC_NONE, PPC2_VSX),\ 94*139c1837SPaolo BonziniGEN_HANDLER2_E(name, #name, 0x3C, opc2|0x01, opc3|0x04, 0, PPC_NONE, PPC2_VSX),\ 95*139c1837SPaolo BonziniGEN_HANDLER2_E(name, #name, 0x3C, opc2|0x02, opc3|0x04, 0, PPC_NONE, PPC2_VSX),\ 96*139c1837SPaolo BonziniGEN_HANDLER2_E(name, #name, 0x3C, opc2|0x03, opc3|0x04, 0, PPC_NONE, PPC2_VSX),\ 97*139c1837SPaolo BonziniGEN_HANDLER2_E(name, #name, 0x3C, opc2|0x00, opc3|0x08, 0, PPC_NONE, PPC2_VSX),\ 98*139c1837SPaolo BonziniGEN_HANDLER2_E(name, #name, 0x3C, opc2|0x01, opc3|0x08, 0, PPC_NONE, PPC2_VSX),\ 99*139c1837SPaolo BonziniGEN_HANDLER2_E(name, #name, 0x3C, opc2|0x02, opc3|0x08, 0, PPC_NONE, PPC2_VSX),\ 100*139c1837SPaolo BonziniGEN_HANDLER2_E(name, #name, 0x3C, opc2|0x03, opc3|0x08, 0, PPC_NONE, PPC2_VSX),\ 101*139c1837SPaolo BonziniGEN_HANDLER2_E(name, #name, 0x3C, opc2|0x00, opc3|0x0C, 0, PPC_NONE, PPC2_VSX),\ 102*139c1837SPaolo BonziniGEN_HANDLER2_E(name, #name, 0x3C, opc2|0x01, opc3|0x0C, 0, PPC_NONE, PPC2_VSX),\ 103*139c1837SPaolo BonziniGEN_HANDLER2_E(name, #name, 0x3C, opc2|0x02, opc3|0x0C, 0, PPC_NONE, PPC2_VSX),\ 104*139c1837SPaolo BonziniGEN_HANDLER2_E(name, #name, 0x3C, opc2|0x03, opc3|0x0C, 0, PPC_NONE, PPC2_VSX) 105*139c1837SPaolo Bonzini 106*139c1837SPaolo Bonzini#define GEN_VSX_XFORM_300(name, opc2, opc3, inval) \ 107*139c1837SPaolo BonziniGEN_HANDLER_E(name, 0x3F, opc2, opc3, inval, PPC_NONE, PPC2_ISA300) 108*139c1837SPaolo Bonzini 109*139c1837SPaolo Bonzini#define GEN_VSX_XFORM_300_EO(name, opc2, opc3, opc4, inval) \ 110*139c1837SPaolo BonziniGEN_HANDLER_E_2(name, 0x3F, opc2, opc3, opc4, inval, PPC_NONE, PPC2_ISA300) 111*139c1837SPaolo Bonzini 112*139c1837SPaolo Bonzini#define GEN_VSX_Z23FORM_300(name, opc2, opc3, opc4, inval) \ 113*139c1837SPaolo BonziniGEN_VSX_XFORM_300_EO(name, opc2, opc3 | 0x00, opc4 | 0x0, inval), \ 114*139c1837SPaolo BonziniGEN_VSX_XFORM_300_EO(name, opc2, opc3 | 0x08, opc4 | 0x0, inval), \ 115*139c1837SPaolo BonziniGEN_VSX_XFORM_300_EO(name, opc2, opc3 | 0x10, opc4 | 0x0, inval), \ 116*139c1837SPaolo BonziniGEN_VSX_XFORM_300_EO(name, opc2, opc3 | 0x18, opc4 | 0x0, inval), \ 117*139c1837SPaolo BonziniGEN_VSX_XFORM_300_EO(name, opc2, opc3 | 0x00, opc4 | 0x1, inval), \ 118*139c1837SPaolo BonziniGEN_VSX_XFORM_300_EO(name, opc2, opc3 | 0x08, opc4 | 0x1, inval), \ 119*139c1837SPaolo BonziniGEN_VSX_XFORM_300_EO(name, opc2, opc3 | 0x10, opc4 | 0x1, inval), \ 120*139c1837SPaolo BonziniGEN_VSX_XFORM_300_EO(name, opc2, opc3 | 0x18, opc4 | 0x1, inval) 121*139c1837SPaolo Bonzini 122*139c1837SPaolo BonziniGEN_VSX_Z23FORM_300(xsrqpi, 0x05, 0x0, 0x0, 0x0), 123*139c1837SPaolo BonziniGEN_VSX_Z23FORM_300(xsrqpxp, 0x05, 0x1, 0x0, 0x0), 124*139c1837SPaolo BonziniGEN_VSX_XFORM_300_EO(xssqrtqp, 0x04, 0x19, 0x1B, 0x0), 125*139c1837SPaolo BonziniGEN_VSX_XFORM_300(xssubqp, 0x04, 0x10, 0x0), 126*139c1837SPaolo Bonzini 127*139c1837SPaolo BonziniGEN_XX2FORM(xsabsdp, 0x12, 0x15, PPC2_VSX), 128*139c1837SPaolo BonziniGEN_XX2FORM(xsnabsdp, 0x12, 0x16, PPC2_VSX), 129*139c1837SPaolo BonziniGEN_XX2FORM(xsnegdp, 0x12, 0x17, PPC2_VSX), 130*139c1837SPaolo BonziniGEN_XX3FORM(xscpsgndp, 0x00, 0x16, PPC2_VSX), 131*139c1837SPaolo Bonzini 132*139c1837SPaolo BonziniGEN_VSX_XFORM_300_EO(xsabsqp, 0x04, 0x19, 0x00, 0x00000001), 133*139c1837SPaolo BonziniGEN_VSX_XFORM_300_EO(xsnabsqp, 0x04, 0x19, 0x08, 0x00000001), 134*139c1837SPaolo BonziniGEN_VSX_XFORM_300_EO(xsnegqp, 0x04, 0x19, 0x10, 0x00000001), 135*139c1837SPaolo BonziniGEN_VSX_XFORM_300(xscpsgnqp, 0x04, 0x03, 0x00000001), 136*139c1837SPaolo BonziniGEN_VSX_XFORM_300_EO(xscvdpqp, 0x04, 0x1A, 0x16, 0x00000001), 137*139c1837SPaolo BonziniGEN_VSX_XFORM_300_EO(xscvqpdp, 0x04, 0x1A, 0x14, 0x0), 138*139c1837SPaolo BonziniGEN_VSX_XFORM_300_EO(xscvqpsdz, 0x04, 0x1A, 0x19, 0x00000001), 139*139c1837SPaolo BonziniGEN_VSX_XFORM_300_EO(xscvqpswz, 0x04, 0x1A, 0x09, 0x00000001), 140*139c1837SPaolo BonziniGEN_VSX_XFORM_300_EO(xscvqpudz, 0x04, 0x1A, 0x11, 0x00000001), 141*139c1837SPaolo BonziniGEN_VSX_XFORM_300_EO(xscvqpuwz, 0x04, 0x1A, 0x01, 0x00000001), 142*139c1837SPaolo Bonzini 143*139c1837SPaolo Bonzini#ifdef TARGET_PPC64 144*139c1837SPaolo BonziniGEN_XX2FORM_EO(xsxexpdp, 0x16, 0x15, 0x00, PPC2_ISA300), 145*139c1837SPaolo BonziniGEN_VSX_XFORM_300_EO(xsxexpqp, 0x04, 0x19, 0x02, 0x00000001), 146*139c1837SPaolo BonziniGEN_XX2FORM_EO(xsxsigdp, 0x16, 0x15, 0x01, PPC2_ISA300), 147*139c1837SPaolo BonziniGEN_VSX_XFORM_300_EO(xsxsigqp, 0x04, 0x19, 0x12, 0x00000001), 148*139c1837SPaolo BonziniGEN_HANDLER_E(xsiexpdp, 0x3C, 0x16, 0x1C, 0, PPC_NONE, PPC2_ISA300), 149*139c1837SPaolo BonziniGEN_VSX_XFORM_300(xsiexpqp, 0x4, 0x1B, 0x00000001), 150*139c1837SPaolo Bonzini#endif 151*139c1837SPaolo Bonzini 152*139c1837SPaolo BonziniGEN_XX2FORM(xststdcdp, 0x14, 0x16, PPC2_ISA300), 153*139c1837SPaolo BonziniGEN_XX2FORM(xststdcsp, 0x14, 0x12, PPC2_ISA300), 154*139c1837SPaolo BonziniGEN_VSX_XFORM_300(xststdcqp, 0x04, 0x16, 0x00000001), 155*139c1837SPaolo Bonzini 156*139c1837SPaolo BonziniGEN_XX3FORM(xviexpsp, 0x00, 0x1B, PPC2_ISA300), 157*139c1837SPaolo BonziniGEN_XX3FORM(xviexpdp, 0x00, 0x1F, PPC2_ISA300), 158*139c1837SPaolo BonziniGEN_XX2FORM_EO(xvxexpdp, 0x16, 0x1D, 0x00, PPC2_ISA300), 159*139c1837SPaolo BonziniGEN_XX2FORM_EO(xvxsigdp, 0x16, 0x1D, 0x01, PPC2_ISA300), 160*139c1837SPaolo BonziniGEN_XX2FORM_EO(xvxexpsp, 0x16, 0x1D, 0x08, PPC2_ISA300), 161*139c1837SPaolo BonziniGEN_XX2FORM_EO(xvxsigsp, 0x16, 0x1D, 0x09, PPC2_ISA300), 162*139c1837SPaolo Bonzini 163*139c1837SPaolo Bonzini/* DCMX = bit[25] << 6 | bit[29] << 5 | bit[11:15] */ 164*139c1837SPaolo Bonzini#define GEN_XX2FORM_DCMX(name, opc2, opc3, fl2) \ 165*139c1837SPaolo BonziniGEN_XX3FORM(name, opc2, opc3 | 0, fl2), \ 166*139c1837SPaolo BonziniGEN_XX3FORM(name, opc2, opc3 | 1, fl2) 167*139c1837SPaolo Bonzini 168*139c1837SPaolo BonziniGEN_XX2FORM_DCMX(xvtstdcdp, 0x14, 0x1E, PPC2_ISA300), 169*139c1837SPaolo BonziniGEN_XX2FORM_DCMX(xvtstdcsp, 0x14, 0x1A, PPC2_ISA300), 170*139c1837SPaolo Bonzini 171*139c1837SPaolo BonziniGEN_XX2FORM(xvabsdp, 0x12, 0x1D, PPC2_VSX), 172*139c1837SPaolo BonziniGEN_XX2FORM(xvnabsdp, 0x12, 0x1E, PPC2_VSX), 173*139c1837SPaolo BonziniGEN_XX2FORM(xvnegdp, 0x12, 0x1F, PPC2_VSX), 174*139c1837SPaolo BonziniGEN_XX3FORM(xvcpsgndp, 0x00, 0x1E, PPC2_VSX), 175*139c1837SPaolo BonziniGEN_XX2FORM(xvabssp, 0x12, 0x19, PPC2_VSX), 176*139c1837SPaolo BonziniGEN_XX2FORM(xvnabssp, 0x12, 0x1A, PPC2_VSX), 177*139c1837SPaolo BonziniGEN_XX2FORM(xvnegsp, 0x12, 0x1B, PPC2_VSX), 178*139c1837SPaolo BonziniGEN_XX3FORM(xvcpsgnsp, 0x00, 0x1A, PPC2_VSX), 179*139c1837SPaolo Bonzini 180*139c1837SPaolo BonziniGEN_XX3FORM(xsadddp, 0x00, 0x04, PPC2_VSX), 181*139c1837SPaolo BonziniGEN_VSX_XFORM_300(xsaddqp, 0x04, 0x00, 0x0), 182*139c1837SPaolo BonziniGEN_XX3FORM(xssubdp, 0x00, 0x05, PPC2_VSX), 183*139c1837SPaolo BonziniGEN_XX3FORM(xsmuldp, 0x00, 0x06, PPC2_VSX), 184*139c1837SPaolo BonziniGEN_VSX_XFORM_300(xsmulqp, 0x04, 0x01, 0x0), 185*139c1837SPaolo BonziniGEN_XX3FORM(xsdivdp, 0x00, 0x07, PPC2_VSX), 186*139c1837SPaolo BonziniGEN_XX2FORM(xsredp, 0x14, 0x05, PPC2_VSX), 187*139c1837SPaolo BonziniGEN_XX2FORM(xssqrtdp, 0x16, 0x04, PPC2_VSX), 188*139c1837SPaolo BonziniGEN_XX2FORM(xsrsqrtedp, 0x14, 0x04, PPC2_VSX), 189*139c1837SPaolo BonziniGEN_XX3FORM(xstdivdp, 0x14, 0x07, PPC2_VSX), 190*139c1837SPaolo BonziniGEN_XX2FORM(xstsqrtdp, 0x14, 0x06, PPC2_VSX), 191*139c1837SPaolo BonziniGEN_XX3FORM_NAME(xsmadddp, "xsmaddadp", 0x04, 0x04, PPC2_VSX), 192*139c1837SPaolo BonziniGEN_XX3FORM_NAME(xsmadddp, "xsmaddmdp", 0x04, 0x05, PPC2_VSX), 193*139c1837SPaolo BonziniGEN_XX3FORM_NAME(xsmsubdp, "xsmsubadp", 0x04, 0x06, PPC2_VSX), 194*139c1837SPaolo BonziniGEN_XX3FORM_NAME(xsmsubdp, "xsmsubmdp", 0x04, 0x07, PPC2_VSX), 195*139c1837SPaolo BonziniGEN_XX3FORM_NAME(xsnmadddp, "xsnmaddadp", 0x04, 0x14, PPC2_VSX), 196*139c1837SPaolo BonziniGEN_XX3FORM_NAME(xsnmadddp, "xsnmaddmdp", 0x04, 0x15, PPC2_VSX), 197*139c1837SPaolo BonziniGEN_XX3FORM_NAME(xsnmsubdp, "xsnmsubadp", 0x04, 0x16, PPC2_VSX), 198*139c1837SPaolo BonziniGEN_XX3FORM_NAME(xsnmsubdp, "xsnmsubmdp", 0x04, 0x17, PPC2_VSX), 199*139c1837SPaolo BonziniGEN_XX3FORM(xscmpeqdp, 0x0C, 0x00, PPC2_ISA300), 200*139c1837SPaolo BonziniGEN_XX3FORM(xscmpgtdp, 0x0C, 0x01, PPC2_ISA300), 201*139c1837SPaolo BonziniGEN_XX3FORM(xscmpgedp, 0x0C, 0x02, PPC2_ISA300), 202*139c1837SPaolo BonziniGEN_XX3FORM(xscmpnedp, 0x0C, 0x03, PPC2_ISA300), 203*139c1837SPaolo BonziniGEN_XX3FORM(xscmpexpdp, 0x0C, 0x07, PPC2_ISA300), 204*139c1837SPaolo BonziniGEN_VSX_XFORM_300(xscmpexpqp, 0x04, 0x05, 0x00600001), 205*139c1837SPaolo BonziniGEN_XX2IFORM(xscmpodp, 0x0C, 0x05, PPC2_VSX), 206*139c1837SPaolo BonziniGEN_XX2IFORM(xscmpudp, 0x0C, 0x04, PPC2_VSX), 207*139c1837SPaolo BonziniGEN_VSX_XFORM_300(xscmpoqp, 0x04, 0x04, 0x00600001), 208*139c1837SPaolo BonziniGEN_VSX_XFORM_300(xscmpuqp, 0x04, 0x14, 0x00600001), 209*139c1837SPaolo BonziniGEN_XX3FORM(xsmaxdp, 0x00, 0x14, PPC2_VSX), 210*139c1837SPaolo BonziniGEN_XX3FORM(xsmindp, 0x00, 0x15, PPC2_VSX), 211*139c1837SPaolo BonziniGEN_XX3FORM(xsmaxcdp, 0x00, 0x10, PPC2_ISA300), 212*139c1837SPaolo BonziniGEN_XX3FORM(xsmincdp, 0x00, 0x11, PPC2_ISA300), 213*139c1837SPaolo BonziniGEN_XX3FORM(xsmaxjdp, 0x00, 0x12, PPC2_ISA300), 214*139c1837SPaolo BonziniGEN_XX3FORM(xsminjdp, 0x00, 0x13, PPC2_ISA300), 215*139c1837SPaolo BonziniGEN_XX2FORM_EO(xscvdphp, 0x16, 0x15, 0x11, PPC2_ISA300), 216*139c1837SPaolo BonziniGEN_XX2FORM(xscvdpsp, 0x12, 0x10, PPC2_VSX), 217*139c1837SPaolo BonziniGEN_XX2FORM(xscvdpspn, 0x16, 0x10, PPC2_VSX207), 218*139c1837SPaolo BonziniGEN_XX2FORM_EO(xscvhpdp, 0x16, 0x15, 0x10, PPC2_ISA300), 219*139c1837SPaolo BonziniGEN_VSX_XFORM_300_EO(xscvsdqp, 0x04, 0x1A, 0x0A, 0x00000001), 220*139c1837SPaolo BonziniGEN_XX2FORM(xscvspdp, 0x12, 0x14, PPC2_VSX), 221*139c1837SPaolo BonziniGEN_XX2FORM(xscvspdpn, 0x16, 0x14, PPC2_VSX207), 222*139c1837SPaolo BonziniGEN_XX2FORM(xscvdpsxds, 0x10, 0x15, PPC2_VSX), 223*139c1837SPaolo BonziniGEN_XX2FORM(xscvdpsxws, 0x10, 0x05, PPC2_VSX), 224*139c1837SPaolo BonziniGEN_XX2FORM(xscvdpuxds, 0x10, 0x14, PPC2_VSX), 225*139c1837SPaolo BonziniGEN_XX2FORM(xscvdpuxws, 0x10, 0x04, PPC2_VSX), 226*139c1837SPaolo BonziniGEN_XX2FORM(xscvsxddp, 0x10, 0x17, PPC2_VSX), 227*139c1837SPaolo BonziniGEN_VSX_XFORM_300_EO(xscvudqp, 0x04, 0x1A, 0x02, 0x00000001), 228*139c1837SPaolo BonziniGEN_XX2FORM(xscvuxddp, 0x10, 0x16, PPC2_VSX), 229*139c1837SPaolo BonziniGEN_XX2FORM(xsrdpi, 0x12, 0x04, PPC2_VSX), 230*139c1837SPaolo BonziniGEN_XX2FORM(xsrdpic, 0x16, 0x06, PPC2_VSX), 231*139c1837SPaolo BonziniGEN_XX2FORM(xsrdpim, 0x12, 0x07, PPC2_VSX), 232*139c1837SPaolo BonziniGEN_XX2FORM(xsrdpip, 0x12, 0x06, PPC2_VSX), 233*139c1837SPaolo BonziniGEN_XX2FORM(xsrdpiz, 0x12, 0x05, PPC2_VSX), 234*139c1837SPaolo Bonzini 235*139c1837SPaolo BonziniGEN_XX3FORM(xsaddsp, 0x00, 0x00, PPC2_VSX207), 236*139c1837SPaolo BonziniGEN_XX3FORM(xssubsp, 0x00, 0x01, PPC2_VSX207), 237*139c1837SPaolo BonziniGEN_XX3FORM(xsmulsp, 0x00, 0x02, PPC2_VSX207), 238*139c1837SPaolo BonziniGEN_XX3FORM(xsdivsp, 0x00, 0x03, PPC2_VSX207), 239*139c1837SPaolo BonziniGEN_VSX_XFORM_300(xsdivqp, 0x04, 0x11, 0x0), 240*139c1837SPaolo BonziniGEN_XX2FORM(xsresp, 0x14, 0x01, PPC2_VSX207), 241*139c1837SPaolo BonziniGEN_XX2FORM(xsrsp, 0x12, 0x11, PPC2_VSX207), 242*139c1837SPaolo BonziniGEN_XX2FORM(xssqrtsp, 0x16, 0x00, PPC2_VSX207), 243*139c1837SPaolo BonziniGEN_XX2FORM(xsrsqrtesp, 0x14, 0x00, PPC2_VSX207), 244*139c1837SPaolo BonziniGEN_XX3FORM_NAME(xsmaddsp, "xsmaddasp", 0x04, 0x00, PPC2_VSX207), 245*139c1837SPaolo BonziniGEN_XX3FORM_NAME(xsmaddsp, "xsmaddmsp", 0x04, 0x01, PPC2_VSX207), 246*139c1837SPaolo BonziniGEN_XX3FORM_NAME(xsmsubsp, "xsmsubasp", 0x04, 0x02, PPC2_VSX207), 247*139c1837SPaolo BonziniGEN_XX3FORM_NAME(xsmsubsp, "xsmsubmsp", 0x04, 0x03, PPC2_VSX207), 248*139c1837SPaolo BonziniGEN_XX3FORM_NAME(xsnmaddsp, "xsnmaddasp", 0x04, 0x10, PPC2_VSX207), 249*139c1837SPaolo BonziniGEN_XX3FORM_NAME(xsnmaddsp, "xsnmaddmsp", 0x04, 0x11, PPC2_VSX207), 250*139c1837SPaolo BonziniGEN_XX3FORM_NAME(xsnmsubsp, "xsnmsubasp", 0x04, 0x12, PPC2_VSX207), 251*139c1837SPaolo BonziniGEN_XX3FORM_NAME(xsnmsubsp, "xsnmsubmsp", 0x04, 0x13, PPC2_VSX207), 252*139c1837SPaolo BonziniGEN_XX2FORM(xscvsxdsp, 0x10, 0x13, PPC2_VSX207), 253*139c1837SPaolo BonziniGEN_XX2FORM(xscvuxdsp, 0x10, 0x12, PPC2_VSX207), 254*139c1837SPaolo Bonzini 255*139c1837SPaolo BonziniGEN_XX3FORM(xvadddp, 0x00, 0x0C, PPC2_VSX), 256*139c1837SPaolo BonziniGEN_XX3FORM(xvsubdp, 0x00, 0x0D, PPC2_VSX), 257*139c1837SPaolo BonziniGEN_XX3FORM(xvmuldp, 0x00, 0x0E, PPC2_VSX), 258*139c1837SPaolo BonziniGEN_XX3FORM(xvdivdp, 0x00, 0x0F, PPC2_VSX), 259*139c1837SPaolo BonziniGEN_XX2FORM(xvredp, 0x14, 0x0D, PPC2_VSX), 260*139c1837SPaolo BonziniGEN_XX2FORM(xvsqrtdp, 0x16, 0x0C, PPC2_VSX), 261*139c1837SPaolo BonziniGEN_XX2FORM(xvrsqrtedp, 0x14, 0x0C, PPC2_VSX), 262*139c1837SPaolo BonziniGEN_XX3FORM(xvtdivdp, 0x14, 0x0F, PPC2_VSX), 263*139c1837SPaolo BonziniGEN_XX2FORM(xvtsqrtdp, 0x14, 0x0E, PPC2_VSX), 264*139c1837SPaolo BonziniGEN_XX3FORM_NAME(xvmadddp, "xvmaddadp", 0x04, 0x0C, PPC2_VSX), 265*139c1837SPaolo BonziniGEN_XX3FORM_NAME(xvmadddp, "xvmaddmdp", 0x04, 0x0D, PPC2_VSX), 266*139c1837SPaolo BonziniGEN_XX3FORM_NAME(xvmsubdp, "xvmsubadp", 0x04, 0x0E, PPC2_VSX), 267*139c1837SPaolo BonziniGEN_XX3FORM_NAME(xvmsubdp, "xvmsubmdp", 0x04, 0x0F, PPC2_VSX), 268*139c1837SPaolo BonziniGEN_XX3FORM_NAME(xvnmadddp, "xvnmaddadp", 0x04, 0x1C, PPC2_VSX), 269*139c1837SPaolo BonziniGEN_XX3FORM_NAME(xvnmadddp, "xvnmaddmdp", 0x04, 0x1D, PPC2_VSX), 270*139c1837SPaolo BonziniGEN_XX3FORM_NAME(xvnmsubdp, "xvnmsubadp", 0x04, 0x1E, PPC2_VSX), 271*139c1837SPaolo BonziniGEN_XX3FORM_NAME(xvnmsubdp, "xvnmsubmdp", 0x04, 0x1F, PPC2_VSX), 272*139c1837SPaolo BonziniGEN_XX3FORM(xvmaxdp, 0x00, 0x1C, PPC2_VSX), 273*139c1837SPaolo BonziniGEN_XX3FORM(xvmindp, 0x00, 0x1D, PPC2_VSX), 274*139c1837SPaolo BonziniGEN_XX3_RC_FORM(xvcmpeqdp, 0x0C, 0x0C, PPC2_VSX), 275*139c1837SPaolo BonziniGEN_XX3_RC_FORM(xvcmpgtdp, 0x0C, 0x0D, PPC2_VSX), 276*139c1837SPaolo BonziniGEN_XX3_RC_FORM(xvcmpgedp, 0x0C, 0x0E, PPC2_VSX), 277*139c1837SPaolo BonziniGEN_XX3_RC_FORM(xvcmpnedp, 0x0C, 0x0F, PPC2_ISA300), 278*139c1837SPaolo BonziniGEN_XX2FORM(xvcvdpsp, 0x12, 0x18, PPC2_VSX), 279*139c1837SPaolo BonziniGEN_XX2FORM(xvcvdpsxds, 0x10, 0x1D, PPC2_VSX), 280*139c1837SPaolo BonziniGEN_XX2FORM(xvcvdpsxws, 0x10, 0x0D, PPC2_VSX), 281*139c1837SPaolo BonziniGEN_XX2FORM(xvcvdpuxds, 0x10, 0x1C, PPC2_VSX), 282*139c1837SPaolo BonziniGEN_XX2FORM(xvcvdpuxws, 0x10, 0x0C, PPC2_VSX), 283*139c1837SPaolo BonziniGEN_XX2FORM(xvcvsxddp, 0x10, 0x1F, PPC2_VSX), 284*139c1837SPaolo BonziniGEN_XX2FORM(xvcvuxddp, 0x10, 0x1E, PPC2_VSX), 285*139c1837SPaolo BonziniGEN_XX2FORM(xvcvsxwdp, 0x10, 0x0F, PPC2_VSX), 286*139c1837SPaolo BonziniGEN_XX2FORM(xvcvuxwdp, 0x10, 0x0E, PPC2_VSX), 287*139c1837SPaolo BonziniGEN_XX2FORM(xvrdpi, 0x12, 0x0C, PPC2_VSX), 288*139c1837SPaolo BonziniGEN_XX2FORM(xvrdpic, 0x16, 0x0E, PPC2_VSX), 289*139c1837SPaolo BonziniGEN_XX2FORM(xvrdpim, 0x12, 0x0F, PPC2_VSX), 290*139c1837SPaolo BonziniGEN_XX2FORM(xvrdpip, 0x12, 0x0E, PPC2_VSX), 291*139c1837SPaolo BonziniGEN_XX2FORM(xvrdpiz, 0x12, 0x0D, PPC2_VSX), 292*139c1837SPaolo Bonzini 293*139c1837SPaolo BonziniGEN_XX3FORM(xvaddsp, 0x00, 0x08, PPC2_VSX), 294*139c1837SPaolo BonziniGEN_XX3FORM(xvsubsp, 0x00, 0x09, PPC2_VSX), 295*139c1837SPaolo BonziniGEN_XX3FORM(xvmulsp, 0x00, 0x0A, PPC2_VSX), 296*139c1837SPaolo BonziniGEN_XX3FORM(xvdivsp, 0x00, 0x0B, PPC2_VSX), 297*139c1837SPaolo BonziniGEN_XX2FORM(xvresp, 0x14, 0x09, PPC2_VSX), 298*139c1837SPaolo BonziniGEN_XX2FORM(xvsqrtsp, 0x16, 0x08, PPC2_VSX), 299*139c1837SPaolo BonziniGEN_XX2FORM(xvrsqrtesp, 0x14, 0x08, PPC2_VSX), 300*139c1837SPaolo BonziniGEN_XX3FORM(xvtdivsp, 0x14, 0x0B, PPC2_VSX), 301*139c1837SPaolo BonziniGEN_XX2FORM(xvtsqrtsp, 0x14, 0x0A, PPC2_VSX), 302*139c1837SPaolo BonziniGEN_XX3FORM_NAME(xvmaddsp, "xvmaddasp", 0x04, 0x08, PPC2_VSX), 303*139c1837SPaolo BonziniGEN_XX3FORM_NAME(xvmaddsp, "xvmaddmsp", 0x04, 0x09, PPC2_VSX), 304*139c1837SPaolo BonziniGEN_XX3FORM_NAME(xvmsubsp, "xvmsubasp", 0x04, 0x0A, PPC2_VSX), 305*139c1837SPaolo BonziniGEN_XX3FORM_NAME(xvmsubsp, "xvmsubmsp", 0x04, 0x0B, PPC2_VSX), 306*139c1837SPaolo BonziniGEN_XX3FORM_NAME(xvnmaddsp, "xvnmaddasp", 0x04, 0x18, PPC2_VSX), 307*139c1837SPaolo BonziniGEN_XX3FORM_NAME(xvnmaddsp, "xvnmaddmsp", 0x04, 0x19, PPC2_VSX), 308*139c1837SPaolo BonziniGEN_XX3FORM_NAME(xvnmsubsp, "xvnmsubasp", 0x04, 0x1A, PPC2_VSX), 309*139c1837SPaolo BonziniGEN_XX3FORM_NAME(xvnmsubsp, "xvnmsubmsp", 0x04, 0x1B, PPC2_VSX), 310*139c1837SPaolo BonziniGEN_XX3FORM(xvmaxsp, 0x00, 0x18, PPC2_VSX), 311*139c1837SPaolo BonziniGEN_XX3FORM(xvminsp, 0x00, 0x19, PPC2_VSX), 312*139c1837SPaolo BonziniGEN_XX3_RC_FORM(xvcmpeqsp, 0x0C, 0x08, PPC2_VSX), 313*139c1837SPaolo BonziniGEN_XX3_RC_FORM(xvcmpgtsp, 0x0C, 0x09, PPC2_VSX), 314*139c1837SPaolo BonziniGEN_XX3_RC_FORM(xvcmpgesp, 0x0C, 0x0A, PPC2_VSX), 315*139c1837SPaolo BonziniGEN_XX3_RC_FORM(xvcmpnesp, 0x0C, 0x0B, PPC2_ISA300), 316*139c1837SPaolo BonziniGEN_XX2FORM(xvcvspdp, 0x12, 0x1C, PPC2_VSX), 317*139c1837SPaolo BonziniGEN_XX2FORM(xvcvspsxds, 0x10, 0x19, PPC2_VSX), 318*139c1837SPaolo BonziniGEN_XX2FORM(xvcvspsxws, 0x10, 0x09, PPC2_VSX), 319*139c1837SPaolo BonziniGEN_XX2FORM(xvcvspuxds, 0x10, 0x18, PPC2_VSX), 320*139c1837SPaolo BonziniGEN_XX2FORM(xvcvspuxws, 0x10, 0x08, PPC2_VSX), 321*139c1837SPaolo BonziniGEN_XX2FORM(xvcvsxdsp, 0x10, 0x1B, PPC2_VSX), 322*139c1837SPaolo BonziniGEN_XX2FORM(xvcvuxdsp, 0x10, 0x1A, PPC2_VSX), 323*139c1837SPaolo BonziniGEN_XX2FORM(xvcvsxwsp, 0x10, 0x0B, PPC2_VSX), 324*139c1837SPaolo BonziniGEN_XX2FORM(xvcvuxwsp, 0x10, 0x0A, PPC2_VSX), 325*139c1837SPaolo BonziniGEN_XX2FORM(xvrspi, 0x12, 0x08, PPC2_VSX), 326*139c1837SPaolo BonziniGEN_XX2FORM(xvrspic, 0x16, 0x0A, PPC2_VSX), 327*139c1837SPaolo BonziniGEN_XX2FORM(xvrspim, 0x12, 0x0B, PPC2_VSX), 328*139c1837SPaolo BonziniGEN_XX2FORM(xvrspip, 0x12, 0x0A, PPC2_VSX), 329*139c1837SPaolo BonziniGEN_XX2FORM(xvrspiz, 0x12, 0x09, PPC2_VSX), 330*139c1837SPaolo BonziniGEN_XX2FORM_EO(xxbrh, 0x16, 0x1D, 0x07, PPC2_ISA300), 331*139c1837SPaolo BonziniGEN_XX2FORM_EO(xxbrw, 0x16, 0x1D, 0x0F, PPC2_ISA300), 332*139c1837SPaolo BonziniGEN_XX2FORM_EO(xxbrd, 0x16, 0x1D, 0x17, PPC2_ISA300), 333*139c1837SPaolo BonziniGEN_XX2FORM_EO(xvcvhpsp, 0x16, 0x1D, 0x18, PPC2_ISA300), 334*139c1837SPaolo BonziniGEN_XX2FORM_EO(xvcvsphp, 0x16, 0x1D, 0x19, PPC2_ISA300), 335*139c1837SPaolo BonziniGEN_XX2FORM_EO(xxbrq, 0x16, 0x1D, 0x1F, PPC2_ISA300), 336*139c1837SPaolo Bonzini 337*139c1837SPaolo Bonzini#define VSX_LOGICAL(name, opc2, opc3, fl2) \ 338*139c1837SPaolo BonziniGEN_XX3FORM(name, opc2, opc3, fl2) 339*139c1837SPaolo Bonzini 340*139c1837SPaolo BonziniVSX_LOGICAL(xxland, 0x8, 0x10, PPC2_VSX), 341*139c1837SPaolo BonziniVSX_LOGICAL(xxlandc, 0x8, 0x11, PPC2_VSX), 342*139c1837SPaolo BonziniVSX_LOGICAL(xxlor, 0x8, 0x12, PPC2_VSX), 343*139c1837SPaolo BonziniVSX_LOGICAL(xxlxor, 0x8, 0x13, PPC2_VSX), 344*139c1837SPaolo BonziniVSX_LOGICAL(xxlnor, 0x8, 0x14, PPC2_VSX), 345*139c1837SPaolo BonziniVSX_LOGICAL(xxleqv, 0x8, 0x17, PPC2_VSX207), 346*139c1837SPaolo BonziniVSX_LOGICAL(xxlnand, 0x8, 0x16, PPC2_VSX207), 347*139c1837SPaolo BonziniVSX_LOGICAL(xxlorc, 0x8, 0x15, PPC2_VSX207), 348*139c1837SPaolo BonziniGEN_XX3FORM(xxmrghw, 0x08, 0x02, PPC2_VSX), 349*139c1837SPaolo BonziniGEN_XX3FORM(xxmrglw, 0x08, 0x06, PPC2_VSX), 350*139c1837SPaolo BonziniGEN_XX3FORM(xxperm, 0x08, 0x03, PPC2_ISA300), 351*139c1837SPaolo BonziniGEN_XX3FORM(xxpermr, 0x08, 0x07, PPC2_ISA300), 352*139c1837SPaolo BonziniGEN_XX2FORM(xxspltw, 0x08, 0x0A, PPC2_VSX), 353*139c1837SPaolo BonziniGEN_XX1FORM(xxspltib, 0x08, 0x0B, PPC2_ISA300), 354*139c1837SPaolo BonziniGEN_XX3FORM_DM(xxsldwi, 0x08, 0x00), 355*139c1837SPaolo BonziniGEN_XX2FORM_EXT(xxextractuw, 0x0A, 0x0A, PPC2_ISA300), 356*139c1837SPaolo BonziniGEN_XX2FORM_EXT(xxinsertw, 0x0A, 0x0B, PPC2_ISA300), 357*139c1837SPaolo Bonzini 358*139c1837SPaolo Bonzini#define GEN_XXSEL_ROW(opc3) \ 359*139c1837SPaolo BonziniGEN_HANDLER2_E(xxsel, "xxsel", 0x3C, 0x18, opc3, 0, PPC_NONE, PPC2_VSX), \ 360*139c1837SPaolo BonziniGEN_HANDLER2_E(xxsel, "xxsel", 0x3C, 0x19, opc3, 0, PPC_NONE, PPC2_VSX), \ 361*139c1837SPaolo BonziniGEN_HANDLER2_E(xxsel, "xxsel", 0x3C, 0x1A, opc3, 0, PPC_NONE, PPC2_VSX), \ 362*139c1837SPaolo BonziniGEN_HANDLER2_E(xxsel, "xxsel", 0x3C, 0x1B, opc3, 0, PPC_NONE, PPC2_VSX), \ 363*139c1837SPaolo BonziniGEN_HANDLER2_E(xxsel, "xxsel", 0x3C, 0x1C, opc3, 0, PPC_NONE, PPC2_VSX), \ 364*139c1837SPaolo BonziniGEN_HANDLER2_E(xxsel, "xxsel", 0x3C, 0x1D, opc3, 0, PPC_NONE, PPC2_VSX), \ 365*139c1837SPaolo BonziniGEN_HANDLER2_E(xxsel, "xxsel", 0x3C, 0x1E, opc3, 0, PPC_NONE, PPC2_VSX), \ 366*139c1837SPaolo BonziniGEN_HANDLER2_E(xxsel, "xxsel", 0x3C, 0x1F, opc3, 0, PPC_NONE, PPC2_VSX), \ 367*139c1837SPaolo Bonzini 368*139c1837SPaolo BonziniGEN_XXSEL_ROW(0x00) 369*139c1837SPaolo BonziniGEN_XXSEL_ROW(0x01) 370*139c1837SPaolo BonziniGEN_XXSEL_ROW(0x02) 371*139c1837SPaolo BonziniGEN_XXSEL_ROW(0x03) 372*139c1837SPaolo BonziniGEN_XXSEL_ROW(0x04) 373*139c1837SPaolo BonziniGEN_XXSEL_ROW(0x05) 374*139c1837SPaolo BonziniGEN_XXSEL_ROW(0x06) 375*139c1837SPaolo BonziniGEN_XXSEL_ROW(0x07) 376*139c1837SPaolo BonziniGEN_XXSEL_ROW(0x08) 377*139c1837SPaolo BonziniGEN_XXSEL_ROW(0x09) 378*139c1837SPaolo BonziniGEN_XXSEL_ROW(0x0A) 379*139c1837SPaolo BonziniGEN_XXSEL_ROW(0x0B) 380*139c1837SPaolo BonziniGEN_XXSEL_ROW(0x0C) 381*139c1837SPaolo BonziniGEN_XXSEL_ROW(0x0D) 382*139c1837SPaolo BonziniGEN_XXSEL_ROW(0x0E) 383*139c1837SPaolo BonziniGEN_XXSEL_ROW(0x0F) 384*139c1837SPaolo BonziniGEN_XXSEL_ROW(0x10) 385*139c1837SPaolo BonziniGEN_XXSEL_ROW(0x11) 386*139c1837SPaolo BonziniGEN_XXSEL_ROW(0x12) 387*139c1837SPaolo BonziniGEN_XXSEL_ROW(0x13) 388*139c1837SPaolo BonziniGEN_XXSEL_ROW(0x14) 389*139c1837SPaolo BonziniGEN_XXSEL_ROW(0x15) 390*139c1837SPaolo BonziniGEN_XXSEL_ROW(0x16) 391*139c1837SPaolo BonziniGEN_XXSEL_ROW(0x17) 392*139c1837SPaolo BonziniGEN_XXSEL_ROW(0x18) 393*139c1837SPaolo BonziniGEN_XXSEL_ROW(0x19) 394*139c1837SPaolo BonziniGEN_XXSEL_ROW(0x1A) 395*139c1837SPaolo BonziniGEN_XXSEL_ROW(0x1B) 396*139c1837SPaolo BonziniGEN_XXSEL_ROW(0x1C) 397*139c1837SPaolo BonziniGEN_XXSEL_ROW(0x1D) 398*139c1837SPaolo BonziniGEN_XXSEL_ROW(0x1E) 399*139c1837SPaolo BonziniGEN_XXSEL_ROW(0x1F) 400*139c1837SPaolo Bonzini 401*139c1837SPaolo BonziniGEN_XX3FORM_DM(xxpermdi, 0x08, 0x01), 402