From 2ac24c5970e750edf14f9c64bef3986f0f796d67 Mon Sep 17 00:00:00 2001 From: Dmitry Selyutin Date: Mon, 29 May 2023 01:04:57 +0300 Subject: [PATCH] ppc-opc.c: place new instructions at SFFS level --- opcodes/ppc-opc.c | 519 +++++++++++++++++++++++----------------------- 1 file changed, 260 insertions(+), 259 deletions(-) diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c index 6e3217df02f..e9f9d3ac971 100644 --- a/opcodes/ppc-opc.c +++ b/opcodes/ppc-opc.c @@ -5091,7 +5091,8 @@ const unsigned int num_powerpc_operands = ARRAY_SIZE (powerpc_operands); #define PPCHTM PPC_OPCODE_POWER8 #define E200Z4 PPC_OPCODE_E200Z4 #define PPCLSP PPC_OPCODE_LSP -#define SVP64 PPC_OPCODE_SVP64 +#define SFFS PPC_OPCODE_SFFS +#define SFFS PPC_OPCODE_SFFS /* Used to mark extended mnemonic in deprecated field so that -Mraw won't use this variant in disassembly. */ #define EXT PPC_OPCODE_RAW @@ -5247,7 +5248,7 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"maddhdu", VXA(4, 49), VXA_MASK, POWER9, 0, {RT, RA, RB, RC}}, {"ps_mul", A (4, 25,0), AFRB_MASK, PPCPS, 0, {FRT, FRA, FRC}}, {"ps_mul.", A (4, 25,1), AFRB_MASK, PPCPS, 0, {FRT, FRA, FRC}}, -{"maddedu", VXA(4, 50), VXA_MASK, SVP64, PPCVLE, {RT, RA, RB, RC}}, +{"maddedu", VXA(4, 50), VXA_MASK, SFFS, PPCVLE, {RT, RA, RB, RC}}, {"maddld", VXA(4, 51), VXA_MASK, POWER9, 0, {RT, RA, RB, RC}}, {"divmod2du", VXA(4, 58), VXA_MASK, SFFS, 0, {RT, RA, RB, RC}}, {"ps_rsqrte", A (4, 26,0), AFRAFRC_MASK, PPCPS, 0, {FRT, FRB}}, @@ -7030,43 +7031,43 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"rlmi", M(22,0), M_MASK, M601, PPCVLE, {RA, RS, RB, MBE, ME}}, {"rlmi.", M(22,1), M_MASK, M601, PPCVLE, {RA, RS, RB, MBE, ME}}, -{"fmvis", DX(22,3), DX_MASK, SVP64, PPCVLE, {FRS, DXD}}, -{"fishmv", DX(22,11), DX_MASK, SVP64, PPCVLE, {FRS, DXD}}, +{"fmvis", DX(22,3), DX_MASK, SFFS, PPCVLE, {FRS, DXD}}, +{"fishmv", DX(22,11), DX_MASK, SFFS, PPCVLE, {FRS, DXD}}, -{"bmask", BM2(22,17), BM2_MASK, SVP64, PPCVLE, {RT, RA, RB, bm, LBM2}}, +{"bmask", BM2(22,17), BM2_MASK, SFFS, PPCVLE, {RT, RA, RB, bm, LBM2}}, -{"svstep", SVL(22,19,0), SVL_MASK, SVP64, PPCVLE, {RT, SVi, vf}}, -{"svstep.", SVL(22,19,1), SVL_MASK, SVP64, PPCVLE, {RT, SVi, vf}}, +{"svstep", SVL(22,19,0), SVL_MASK, SFFS, PPCVLE, {RT, SVi, vf}}, +{"svstep.", SVL(22,19,1), SVL_MASK, SFFS, PPCVLE, {RT, SVi, vf}}, -{"svshape2", SVM2(22,281), SVM2_MASK, SVP64, PPCVLE, {SVo, yx10, rmm, SVd, sk, mm}}, -{"svshape", SVM(22,25), SVM_MASK, SVP64, PPCVLE, {SVxd, SVyd, SVzd, SVrm, vf}}, +{"svshape2", SVM2(22,281), SVM2_MASK, SFFS, PPCVLE, {SVo, yx10, rmm, SVd, sk, mm}}, +{"svshape", SVM(22,25), SVM_MASK, SFFS, PPCVLE, {SVxd, SVyd, SVzd, SVrm, vf}}, -{"setvl", SVL(22,27,0), SVL_MASK, SVP64, PPCVLE, {RT, RA, SVi, vf, vs, ms}}, -{"setvl.", SVL(22,27,1), SVL_MASK, SVP64, PPCVLE, {RT, RA, SVi, vf, vs, ms}}, +{"setvl", SVL(22,27,0), SVL_MASK, SFFS, PPCVLE, {RT, RA, SVi, vf, vs, ms}}, +{"setvl.", SVL(22,27,1), SVL_MASK, SFFS, PPCVLE, {RT, RA, SVi, vf, vs, ms}}, -{"svindex", SVI(22,41), SVI_MASK, SVP64, PPCVLE, {SVG, rmm, SVd, ew, yx, mm, sk}}, +{"svindex", SVI(22,41), SVI_MASK, SFFS, PPCVLE, {SVG, rmm, SVd, ew, yx, mm, sk}}, -{"svremap", SVRM(22,57), SVRM_MASK, SVP64, PPCVLE, {SVme, mi0, mi1, mi2, mo0, mo1, pst}}, +{"svremap", SVRM(22,57), SVRM_MASK, SFFS, PPCVLE, {SVme, mi0, mi1, mi2, mo0, mo1, pst}}, -{"sadd", ZRC(22,110,0), Z2_MASK, SVP64, PPCVLE, {RT, RA, RB, SHP1}}, -{"sadd.", ZRC(22,110,1), Z2_MASK, SVP64, PPCVLE, {RT, RA, RB, SHP1}}, -{"sadduw", ZRC(22,238,0), Z2_MASK, SVP64, PPCVLE, {RT, RA, RB, SHP1}}, -{"sadduw.", ZRC(22,238,1), Z2_MASK, SVP64, PPCVLE, {RT, RA, RB, SHP1}}, +{"sadd", ZRC(22,110,0), Z2_MASK, SFFS, PPCVLE, {RT, RA, RB, SHP1}}, +{"sadd.", ZRC(22,110,1), Z2_MASK, SFFS, PPCVLE, {RT, RA, RB, SHP1}}, +{"sadduw", ZRC(22,238,0), Z2_MASK, SFFS, PPCVLE, {RT, RA, RB, SHP1}}, +{"sadduw.", ZRC(22,238,1), Z2_MASK, SFFS, PPCVLE, {RT, RA, RB, SHP1}}, {"cprop", XRC(22,398,0), X_MASK, SVP64, PPCVLE, {RT, RA, RB}}, {"cprop.", XRC(22,398,1), X_MASK, SVP64, PPCVLE, {RT, RA, RB}}, -{"absdacs", XRC(22,502,0), X_MASK, SVP64, PPCVLE, {RT, RA, RB}}, -{"absdacs.", XRC(22,502,1), X_MASK, SVP64, PPCVLE, {RT, RA, RB}}, -{"absds", XRC(22,630,0), X_MASK, SVP64, PPCVLE, {RT, RA, RB}}, -{"absds.", XRC(22,630,1), X_MASK, SVP64, PPCVLE, {RT, RA, RB}}, -{"absdu", XRC(22,758,0), X_MASK, SVP64, PPCVLE, {RT, RA, RB}}, -{"absdu.", XRC(22,758,1), X_MASK, SVP64, PPCVLE, {RT, RA, RB}}, -{"absdacu", XRC(22,1014,0), X_MASK, SVP64, PPCVLE, {RT, RA, RB}}, -{"absdacu.", XRC(22,1014,1), X_MASK, SVP64, PPCVLE, {RT, RA, RB}}, +{"absdacs", XRC(22,502,0), X_MASK, SFFS, PPCVLE, {RT, RA, RB}}, +{"absdacs.", XRC(22,502,1), X_MASK, SFFS, PPCVLE, {RT, RA, RB}}, +{"absds", XRC(22,630,0), X_MASK, SFFS, PPCVLE, {RT, RA, RB}}, +{"absds.", XRC(22,630,1), X_MASK, SFFS, PPCVLE, {RT, RA, RB}}, +{"absdu", XRC(22,758,0), X_MASK, SFFS, PPCVLE, {RT, RA, RB}}, +{"absdu.", XRC(22,758,1), X_MASK, SFFS, PPCVLE, {RT, RA, RB}}, +{"absdacu", XRC(22,1014,0), X_MASK, SFFS, PPCVLE, {RT, RA, RB}}, +{"absdacu.", XRC(22,1014,1), X_MASK, SFFS, PPCVLE, {RT, RA, RB}}, -{"avgadd", XRC(22,846,0), X_MASK, SVP64, PPCVLE, {RT, RA, RB}}, -{"avgadd.", XRC(22,846,1), X_MASK, SVP64, PPCVLE, {RT, RA, RB}}, +{"avgadd", XRC(22,846,0), X_MASK, SFFS, PPCVLE, {RT, RA, RB}}, +{"avgadd.", XRC(22,846,1), X_MASK, SFFS, PPCVLE, {RT, RA, RB}}, {"rotlw", MME(23,31,0), MMBME_MASK, PPCCOM, PPCVLE|EXT, {RA, RS, RB}}, {"rlwnm", M(23,0), M_MASK, PPCCOM, PPCVLE, {RA, RS, RB, MBE, ME}}, @@ -9331,122 +9332,122 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"dmxvf64gernn",XX3(59,250), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6ap, XB6a}}, {"xvf64gernn", XX3(59,250), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6ap, XB6a}}, -{"fcbrts", XRC(59,524,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fcbrts.", XRC(59,524,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fsinpis", XRC(59,525,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fsinpis.", XRC(59,525,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fatan2pis", XRC(59,526,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fatan2pis.", XRC(59,526,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fasinpis", XRC(59,527,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fasinpis.", XRC(59,527,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fcospis", XRC(59,556,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fcospis.", XRC(59,556,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"ftanpis", XRC(59,557,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"ftanpis.", XRC(59,557,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"facospis", XRC(59,558,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"facospis.", XRC(59,558,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fatanpis", XRC(59,559,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fatanpis.", XRC(59,559,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"frsqrts", XRC(59,588,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"frsqrts.", XRC(59,588,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fsins", XRC(59,589,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fsins.", XRC(59,589,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fatan2s", XRC(59,590,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fatan2s.", XRC(59,590,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fasins", XRC(59,591,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fasins.", XRC(59,591,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fcoss", XRC(59,620,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fcoss.", XRC(59,620,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"ftans", XRC(59,621,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"ftans.", XRC(59,621,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"facoss", XRC(59,622,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"facoss.", XRC(59,622,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fatans", XRC(59,623,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fatans.", XRC(59,623,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"frecips", XRC(59,652,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"frecips.", XRC(59,652,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fsinhs", XRC(59,653,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fsinhs.", XRC(59,653,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fhypots", XRC(59,654,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fhypots.", XRC(59,654,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fasinhs", XRC(59,655,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fasinhs.", XRC(59,655,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fcoshs", XRC(59,684,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fcoshs.", XRC(59,684,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"ftanhs", XRC(59,685,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"ftanhs.", XRC(59,685,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"facoshs", XRC(59,686,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"facoshs.", XRC(59,686,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fatanhs", XRC(59,687,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fatanhs.", XRC(59,687,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fminnum08s", XRC(59,716,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fminnum08s.", XRC(59,716,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fmin19s", XRC(59,717,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fmin19s.", XRC(59,717,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fminnum19s", XRC(59,718,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fminnum19s.", XRC(59,718,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fmincs", XRC(59,719,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fmincs.", XRC(59,719,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fmaxnum08s", XRC(59,748,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fmaxnum08s.", XRC(59,748,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fmax19s", XRC(59,749,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fmax19s.", XRC(59,749,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fmaxnum19s", XRC(59,750,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fmaxnum19s.", XRC(59,750,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fmaxcs", XRC(59,751,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fmaxcs.", XRC(59,751,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fexp2m1s", XRC(59,780,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fexp2m1s.", XRC(59,780,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"flog2p1s", XRC(59,781,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"flog2p1s.", XRC(59,781,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fminmagnum08s", XRC(59,782,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fminmagnum08s.", XRC(59,782,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fmaxmagnum08s", XRC(59,783,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fmaxmagnum08s.", XRC(59,783,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fexpm1s", XRC(59,812,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fexpm1s.", XRC(59,812,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"flogp1s", XRC(59,813,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"flogp1s.", XRC(59,813,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fexp10m1s", XRC(59,844,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fexp10m1s.", XRC(59,844,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"flog10p1s", XRC(59,845,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"flog10p1s.", XRC(59,845,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fmods", XRC(59,847,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fmods.", XRC(59,847,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fpowns", XRC(59,876,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, RB}}, -{"fpowns.", XRC(59,876,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, RB}}, -{"frootns", XRC(59,877,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, RB}}, -{"frootns.", XRC(59,877,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, RB}}, -{"fminmag19s", XRC(59,878,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fminmag19s.", XRC(59,878,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fmaxmag19s", XRC(59,879,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fmaxmag19s.", XRC(59,879,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fexp2s", XRC(59,908,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fexp2s.", XRC(59,908,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"flog2s", XRC(59,909,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"flog2s.", XRC(59,909,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fminmagnum19s", XRC(59,910,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fminmagnum19s.", XRC(59,910,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fmaxmagnum19s", XRC(59,911,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fmaxmagnum19s.", XRC(59,911,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fexps", XRC(59,940,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fexps.", XRC(59,940,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"flogs", XRC(59,941,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"flogs.", XRC(59,941,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fexp10s", XRC(59,972,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fexp10s.", XRC(59,972,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"flog10s", XRC(59,973,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"flog10s.", XRC(59,973,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fremainders", XRC(59,975,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fremainders.", XRC(59,975,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fpowrs", XRC(59,1004,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fpowrs.", XRC(59,1004,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fpows", XRC(59,1005,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fpows.", XRC(59,1005,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fminmagcs", XRC(59,1006,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fminmagcs.", XRC(59,1006,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fmaxmagcs", XRC(59,1007,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fmaxmagcs.", XRC(59,1007,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, +{"fcbrts", XRC(59,524,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fcbrts.", XRC(59,524,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fsinpis", XRC(59,525,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fsinpis.", XRC(59,525,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fatan2pis", XRC(59,526,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fatan2pis.", XRC(59,526,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fasinpis", XRC(59,527,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fasinpis.", XRC(59,527,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fcospis", XRC(59,556,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fcospis.", XRC(59,556,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"ftanpis", XRC(59,557,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"ftanpis.", XRC(59,557,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"facospis", XRC(59,558,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"facospis.", XRC(59,558,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fatanpis", XRC(59,559,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fatanpis.", XRC(59,559,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"frsqrts", XRC(59,588,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"frsqrts.", XRC(59,588,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fsins", XRC(59,589,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fsins.", XRC(59,589,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fatan2s", XRC(59,590,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fatan2s.", XRC(59,590,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fasins", XRC(59,591,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fasins.", XRC(59,591,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fcoss", XRC(59,620,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fcoss.", XRC(59,620,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"ftans", XRC(59,621,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"ftans.", XRC(59,621,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"facoss", XRC(59,622,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"facoss.", XRC(59,622,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fatans", XRC(59,623,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fatans.", XRC(59,623,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"frecips", XRC(59,652,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"frecips.", XRC(59,652,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fsinhs", XRC(59,653,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fsinhs.", XRC(59,653,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fhypots", XRC(59,654,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fhypots.", XRC(59,654,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fasinhs", XRC(59,655,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fasinhs.", XRC(59,655,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fcoshs", XRC(59,684,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fcoshs.", XRC(59,684,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"ftanhs", XRC(59,685,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"ftanhs.", XRC(59,685,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"facoshs", XRC(59,686,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"facoshs.", XRC(59,686,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fatanhs", XRC(59,687,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fatanhs.", XRC(59,687,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fminnum08s", XRC(59,716,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fminnum08s.", XRC(59,716,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fmin19s", XRC(59,717,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fmin19s.", XRC(59,717,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fminnum19s", XRC(59,718,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fminnum19s.", XRC(59,718,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fmincs", XRC(59,719,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fmincs.", XRC(59,719,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fmaxnum08s", XRC(59,748,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fmaxnum08s.", XRC(59,748,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fmax19s", XRC(59,749,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fmax19s.", XRC(59,749,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fmaxnum19s", XRC(59,750,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fmaxnum19s.", XRC(59,750,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fmaxcs", XRC(59,751,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fmaxcs.", XRC(59,751,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fexp2m1s", XRC(59,780,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fexp2m1s.", XRC(59,780,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"flog2p1s", XRC(59,781,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"flog2p1s.", XRC(59,781,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fminmagnum08s", XRC(59,782,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fminmagnum08s.", XRC(59,782,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fmaxmagnum08s", XRC(59,783,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fmaxmagnum08s.", XRC(59,783,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fexpm1s", XRC(59,812,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fexpm1s.", XRC(59,812,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"flogp1s", XRC(59,813,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"flogp1s.", XRC(59,813,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fexp10m1s", XRC(59,844,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fexp10m1s.", XRC(59,844,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"flog10p1s", XRC(59,845,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"flog10p1s.", XRC(59,845,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fmods", XRC(59,847,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fmods.", XRC(59,847,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fpowns", XRC(59,876,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, RB}}, +{"fpowns.", XRC(59,876,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, RB}}, +{"frootns", XRC(59,877,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, RB}}, +{"frootns.", XRC(59,877,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, RB}}, +{"fminmag19s", XRC(59,878,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fminmag19s.", XRC(59,878,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fmaxmag19s", XRC(59,879,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fmaxmag19s.", XRC(59,879,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fexp2s", XRC(59,908,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fexp2s.", XRC(59,908,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"flog2s", XRC(59,909,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"flog2s.", XRC(59,909,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fminmagnum19s", XRC(59,910,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fminmagnum19s.", XRC(59,910,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fmaxmagnum19s", XRC(59,911,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fmaxmagnum19s.", XRC(59,911,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fexps", XRC(59,940,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fexps.", XRC(59,940,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"flogs", XRC(59,941,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"flogs.", XRC(59,941,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fexp10s", XRC(59,972,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fexp10s.", XRC(59,972,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"flog10s", XRC(59,973,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"flog10s.", XRC(59,973,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fremainders", XRC(59,975,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fremainders.", XRC(59,975,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fpowrs", XRC(59,1004,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fpowrs.", XRC(59,1004,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fpows", XRC(59,1005,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fpows.", XRC(59,1005,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fminmagcs", XRC(59,1006,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fminmagcs.", XRC(59,1006,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fmaxmagcs", XRC(59,1007,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fmaxmagcs.", XRC(59,1007,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, {"xsaddsp", XX3(60,0), XX3_MASK, PPCVSX2, PPCVLE, {XT6, XA6, XB6}}, {"xsmaddasp", XX3(60,1), XX3_MASK, PPCVSX2, PPCVLE, {XT6, XA6, XB6}}, @@ -9987,122 +9988,122 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"dcffixqq", XVA(63,994,0), XVA_MASK, POWER10, PPCVLE, {FRTp, VB}}, {"dctfixqq", XVA(63,994,1), XVA_MASK, POWER10, PPCVLE, {VD, FRBp}}, -{"fcbrt", XRC(63,524,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fcbrt.", XRC(63,524,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fsinpi", XRC(63,525,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fsinpi.", XRC(63,525,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fatan2pi", XRC(63,526,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fatan2pi.", XRC(63,526,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fasinpi", XRC(63,527,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fasinpi.", XRC(63,527,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fcospi", XRC(63,556,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fcospi.", XRC(63,556,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"ftanpi", XRC(63,557,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"ftanpi.", XRC(63,557,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"facospi", XRC(63,558,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"facospi.", XRC(63,558,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fatanpi", XRC(63,559,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fatanpi.", XRC(63,559,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"frsqrt", XRC(63,588,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"frsqrt.", XRC(63,588,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fsin", XRC(63,589,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fsin.", XRC(63,589,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fatan2", XRC(63,590,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fatan2.", XRC(63,590,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fasin", XRC(63,591,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fasin.", XRC(63,591,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fcos", XRC(63,620,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fcos.", XRC(63,620,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"ftan", XRC(63,621,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"ftan.", XRC(63,621,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"facos", XRC(63,622,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"facos.", XRC(63,622,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fatan", XRC(63,623,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fatan.", XRC(63,623,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"frecip", XRC(63,652,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"frecip.", XRC(63,652,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fsinh", XRC(63,653,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fsinh.", XRC(63,653,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fhypot", XRC(63,654,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fhypot.", XRC(63,654,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fasinh", XRC(63,655,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fasinh.", XRC(63,655,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fcosh", XRC(63,684,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fcosh.", XRC(63,684,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"ftanh", XRC(63,685,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"ftanh.", XRC(63,685,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"facosh", XRC(63,686,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"facosh.", XRC(63,686,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fatanh", XRC(63,687,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fatanh.", XRC(63,687,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fminnum08", XRC(63,716,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fminnum08.", XRC(63,716,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fmin19", XRC(63,717,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fmin19.", XRC(63,717,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fminnum19", XRC(63,718,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fminnum19.", XRC(63,718,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fminc", XRC(63,719,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fminc.", XRC(63,719,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fmaxnum08", XRC(63,748,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fmaxnum08.", XRC(63,748,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fmax19", XRC(63,749,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fmax19.", XRC(63,749,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fmaxnum19", XRC(63,750,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fmaxnum19.", XRC(63,750,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fmaxc", XRC(63,751,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fmaxc.", XRC(63,751,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fexp2m1", XRC(63,780,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fexp2m1.", XRC(63,780,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"flog2p1", XRC(63,781,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"flog2p1.", XRC(63,781,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fminmagnum08", XRC(63,782,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fminmagnum08.", XRC(63,782,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fmaxmagnum08", XRC(63,783,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fmaxmagnum08.", XRC(63,783,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fexpm1", XRC(63,812,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fexpm1.", XRC(63,812,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"flogp1", XRC(63,813,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"flogp1.", XRC(63,813,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fexp10m1", XRC(63,844,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fexp10m1.", XRC(63,844,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"flog10p1", XRC(63,845,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"flog10p1.", XRC(63,845,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fmod", XRC(63,847,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fmod.", XRC(63,847,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fpown", XRC(63,876,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, RB}}, -{"fpown.", XRC(63,876,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, RB}}, -{"frootn", XRC(63,877,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, RB}}, -{"frootn.", XRC(63,877,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, RB}}, -{"fminmag19", XRC(63,878,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fminmag19.", XRC(63,878,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fmaxmag19", XRC(63,879,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fmaxmag19.", XRC(63,879,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fexp2", XRC(63,908,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fexp2.", XRC(63,908,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"flog2", XRC(63,909,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"flog2.", XRC(63,909,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fminmagnum19", XRC(63,910,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fminmagnum19.", XRC(63,910,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fmaxmagnum19", XRC(63,911,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fmaxmagnum19.", XRC(63,911,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fexp", XRC(63,940,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fexp.", XRC(63,940,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"flog", XRC(63,941,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"flog.", XRC(63,941,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fexp10", XRC(63,972,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fexp10.", XRC(63,972,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"flog10", XRC(63,973,0), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"flog10.", XRC(63,973,1), X_MASK, SVP64, PPCVLE, {FRT, FRB}}, -{"fremainder", XRC(63,975,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fremainder.", XRC(63,975,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fpowr", XRC(63,1004,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fpowr.", XRC(63,1004,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fpow", XRC(63,1005,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fpow.", XRC(63,1005,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fminmagc", XRC(63,1006,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fminmagc.", XRC(63,1006,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fmaxmagc", XRC(63,1007,0), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, -{"fmaxmagc.", XRC(63,1007,1), X_MASK, SVP64, PPCVLE, {FRT, FRA, FRB}}, +{"fcbrt", XRC(63,524,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fcbrt.", XRC(63,524,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fsinpi", XRC(63,525,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fsinpi.", XRC(63,525,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fatan2pi", XRC(63,526,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fatan2pi.", XRC(63,526,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fasinpi", XRC(63,527,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fasinpi.", XRC(63,527,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fcospi", XRC(63,556,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fcospi.", XRC(63,556,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"ftanpi", XRC(63,557,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"ftanpi.", XRC(63,557,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"facospi", XRC(63,558,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"facospi.", XRC(63,558,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fatanpi", XRC(63,559,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fatanpi.", XRC(63,559,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"frsqrt", XRC(63,588,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"frsqrt.", XRC(63,588,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fsin", XRC(63,589,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fsin.", XRC(63,589,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fatan2", XRC(63,590,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fatan2.", XRC(63,590,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fasin", XRC(63,591,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fasin.", XRC(63,591,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fcos", XRC(63,620,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fcos.", XRC(63,620,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"ftan", XRC(63,621,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"ftan.", XRC(63,621,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"facos", XRC(63,622,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"facos.", XRC(63,622,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fatan", XRC(63,623,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fatan.", XRC(63,623,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"frecip", XRC(63,652,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"frecip.", XRC(63,652,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fsinh", XRC(63,653,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fsinh.", XRC(63,653,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fhypot", XRC(63,654,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fhypot.", XRC(63,654,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fasinh", XRC(63,655,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fasinh.", XRC(63,655,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fcosh", XRC(63,684,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fcosh.", XRC(63,684,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"ftanh", XRC(63,685,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"ftanh.", XRC(63,685,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"facosh", XRC(63,686,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"facosh.", XRC(63,686,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fatanh", XRC(63,687,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fatanh.", XRC(63,687,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fminnum08", XRC(63,716,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fminnum08.", XRC(63,716,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fmin19", XRC(63,717,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fmin19.", XRC(63,717,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fminnum19", XRC(63,718,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fminnum19.", XRC(63,718,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fminc", XRC(63,719,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fminc.", XRC(63,719,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fmaxnum08", XRC(63,748,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fmaxnum08.", XRC(63,748,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fmax19", XRC(63,749,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fmax19.", XRC(63,749,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fmaxnum19", XRC(63,750,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fmaxnum19.", XRC(63,750,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fmaxc", XRC(63,751,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fmaxc.", XRC(63,751,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fexp2m1", XRC(63,780,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fexp2m1.", XRC(63,780,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"flog2p1", XRC(63,781,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"flog2p1.", XRC(63,781,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fminmagnum08", XRC(63,782,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fminmagnum08.", XRC(63,782,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fmaxmagnum08", XRC(63,783,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fmaxmagnum08.", XRC(63,783,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fexpm1", XRC(63,812,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fexpm1.", XRC(63,812,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"flogp1", XRC(63,813,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"flogp1.", XRC(63,813,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fexp10m1", XRC(63,844,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fexp10m1.", XRC(63,844,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"flog10p1", XRC(63,845,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"flog10p1.", XRC(63,845,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fmod", XRC(63,847,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fmod.", XRC(63,847,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fpown", XRC(63,876,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, RB}}, +{"fpown.", XRC(63,876,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, RB}}, +{"frootn", XRC(63,877,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, RB}}, +{"frootn.", XRC(63,877,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, RB}}, +{"fminmag19", XRC(63,878,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fminmag19.", XRC(63,878,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fmaxmag19", XRC(63,879,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fmaxmag19.", XRC(63,879,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fexp2", XRC(63,908,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fexp2.", XRC(63,908,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"flog2", XRC(63,909,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"flog2.", XRC(63,909,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fminmagnum19", XRC(63,910,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fminmagnum19.", XRC(63,910,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fmaxmagnum19", XRC(63,911,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fmaxmagnum19.", XRC(63,911,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fexp", XRC(63,940,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fexp.", XRC(63,940,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"flog", XRC(63,941,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"flog.", XRC(63,941,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fexp10", XRC(63,972,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fexp10.", XRC(63,972,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"flog10", XRC(63,973,0), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"flog10.", XRC(63,973,1), X_MASK, SFFS, PPCVLE, {FRT, FRB}}, +{"fremainder", XRC(63,975,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fremainder.", XRC(63,975,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fpowr", XRC(63,1004,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fpowr.", XRC(63,1004,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fpow", XRC(63,1005,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fpow.", XRC(63,1005,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fminmagc", XRC(63,1006,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fminmagc.", XRC(63,1006,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fmaxmagc", XRC(63,1007,0), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"fmaxmagc.", XRC(63,1007,1), X_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, }; const unsigned int powerpc_num_opcodes = ARRAY_SIZE (powerpc_opcodes); -- 2.30.2