STI
case op2(ST,STI):
case op2(STI,ST):
case op1(STI):
/*0*/ { "fadd", SNGL, op2(STI,ST), 0 },
/*1*/ { "fmul", SNGL, op2(STI,ST), 0 },
/*2*/ { "fcom", SNGL, op2(STI,ST), 0 },
/*3*/ { "fcomp", SNGL, op2(STI,ST), 0 },
/*4*/ { "fsub", SNGL, op2(STI,ST), 0 },
/*5*/ { "fsubr", SNGL, op2(STI,ST), 0 },
/*6*/ { "fdiv", SNGL, op2(STI,ST), 0 },
/*7*/ { "fdivr", SNGL, op2(STI,ST), 0 },
/*0*/ { "fld", SNGL, op1(STI), 0 },
/*1*/ { "", NONE, op1(STI), "fxch" },
/*0*/ { "fadd", DBLR, op2(ST,STI), 0 },
/*1*/ { "fmul", DBLR, op2(ST,STI), 0 },
/*4*/ { "fsub", DBLR, op2(ST,STI), "fsubr" },
/*5*/ { "fsubr", DBLR, op2(ST,STI), "fsub" },
/*6*/ { "fdiv", DBLR, op2(ST,STI), "fdivr" },
/*7*/ { "fdivr", DBLR, op2(ST,STI), "fdiv" },
/*0*/ { "fld", DBLR, op1(STI), "ffree" },
/*2*/ { "fst", DBLR, op1(STI), 0 },
/*3*/ { "fstp", DBLR, op1(STI), 0 },
/*4*/ { "frstor", NONE, op1(STI), "fucom" },
/*5*/ { "", NONE, op1(STI), "fucomp" },
/*0*/ { "fiadd", WORD, op2(ST,STI), "faddp" },
/*1*/ { "fimul", WORD, op2(ST,STI), "fmulp" },
/*4*/ { "fisub", WORD, op2(ST,STI), "fsubrp" },
/*5*/ { "fisubr", WORD, op2(ST,STI), "fsubp" },
/*6*/ { "fidiv", WORD, op2(ST,STI), "fdivrp" },
/*7*/ { "fidivr", WORD, op2(ST,STI), "fdivp" },
case op2(ST,STI):
case op2(STI,ST):
case op1(STI):
/*0*/ { "fadd", SNGL, op2(STI,ST), 0 },
/*1*/ { "fmul", SNGL, op2(STI,ST), 0 },
/*2*/ { "fcom", SNGL, op2(STI,ST), 0 },
/*3*/ { "fcomp", SNGL, op2(STI,ST), 0 },
/*4*/ { "fsub", SNGL, op2(STI,ST), 0 },
/*5*/ { "fsubr", SNGL, op2(STI,ST), 0 },
/*6*/ { "fdiv", SNGL, op2(STI,ST), 0 },
/*7*/ { "fdivr", SNGL, op2(STI,ST), 0 },
/*0*/ { "fld", SNGL, op1(STI), 0 },
/*1*/ { "", NONE, op1(STI), "fxch" },
/*0*/ { "fadd", DBLR, op2(ST,STI), 0 },
/*1*/ { "fmul", DBLR, op2(ST,STI), 0 },
/*4*/ { "fsub", DBLR, op2(ST,STI), "fsubr" },
/*5*/ { "fsubr", DBLR, op2(ST,STI), "fsub" },
/*6*/ { "fdiv", DBLR, op2(ST,STI), "fdivr" },
/*7*/ { "fdivr", DBLR, op2(ST,STI), "fdiv" },
/*0*/ { "fld", DBLR, op1(STI), "ffree" },
/*2*/ { "fst", DBLR, op1(STI), 0 },
/*3*/ { "fstp", DBLR, op1(STI), 0 },
/*4*/ { "frstor", NONE, op1(STI), "fucom" },
/*5*/ { "", NONE, op1(STI), "fucomp" },
/*0*/ { "fiadd", WORD, op2(ST,STI), "faddp" },
/*1*/ { "fimul", WORD, op2(ST,STI), "fmulp" },
/*4*/ { "fisub", WORD, op2(ST,STI), "fsubrp" },
/*5*/ { "fisubr", WORD, op2(ST,STI), "fsubp" },
/*6*/ { "fidiv", WORD, op2(ST,STI), "fdivrp" },
/*7*/ { "fidivr", WORD, op2(ST,STI), "fdivp" },
case STI:
case STI: