x87.isa revision 5162
14825Sgblack@eecs.umich.edu// Copyright (c) 2007 The Hewlett-Packard Development Company
24825Sgblack@eecs.umich.edu// All rights reserved.
34825Sgblack@eecs.umich.edu//
44825Sgblack@eecs.umich.edu// Redistribution and use of this software in source and binary forms,
54825Sgblack@eecs.umich.edu// with or without modification, are permitted provided that the
64825Sgblack@eecs.umich.edu// following conditions are met:
74825Sgblack@eecs.umich.edu//
84825Sgblack@eecs.umich.edu// The software must be used only for Non-Commercial Use which means any
94825Sgblack@eecs.umich.edu// use which is NOT directed to receiving any direct monetary
104825Sgblack@eecs.umich.edu// compensation for, or commercial advantage from such use.  Illustrative
114825Sgblack@eecs.umich.edu// examples of non-commercial use are academic research, personal study,
124825Sgblack@eecs.umich.edu// teaching, education and corporate research & development.
134825Sgblack@eecs.umich.edu// Illustrative examples of commercial use are distributing products for
144825Sgblack@eecs.umich.edu// commercial advantage and providing services using the software for
154825Sgblack@eecs.umich.edu// commercial advantage.
164825Sgblack@eecs.umich.edu//
174825Sgblack@eecs.umich.edu// If you wish to use this software or functionality therein that may be
184825Sgblack@eecs.umich.edu// covered by patents for commercial use, please contact:
194825Sgblack@eecs.umich.edu//     Director of Intellectual Property Licensing
204825Sgblack@eecs.umich.edu//     Office of Strategy and Technology
214825Sgblack@eecs.umich.edu//     Hewlett-Packard Company
224825Sgblack@eecs.umich.edu//     1501 Page Mill Road
234825Sgblack@eecs.umich.edu//     Palo Alto, California  94304
244825Sgblack@eecs.umich.edu//
254825Sgblack@eecs.umich.edu// Redistributions of source code must retain the above copyright notice,
264825Sgblack@eecs.umich.edu// this list of conditions and the following disclaimer.  Redistributions
274825Sgblack@eecs.umich.edu// in binary form must reproduce the above copyright notice, this list of
284825Sgblack@eecs.umich.edu// conditions and the following disclaimer in the documentation and/or
294825Sgblack@eecs.umich.edu// other materials provided with the distribution.  Neither the name of
304825Sgblack@eecs.umich.edu// the COPYRIGHT HOLDER(s), HEWLETT-PACKARD COMPANY, nor the names of its
314825Sgblack@eecs.umich.edu// contributors may be used to endorse or promote products derived from
324825Sgblack@eecs.umich.edu// this software without specific prior written permission.  No right of
334825Sgblack@eecs.umich.edu// sublicense is granted herewith.  Derivatives of the software and
344825Sgblack@eecs.umich.edu// output created using the software may be prepared, but only for
354825Sgblack@eecs.umich.edu// Non-Commercial Uses.  Derivatives of the software may be shared with
364825Sgblack@eecs.umich.edu// others provided: (i) the others agree to abide by the list of
374825Sgblack@eecs.umich.edu// conditions herein which includes the Non-Commercial Use restrictions;
384825Sgblack@eecs.umich.edu// and (ii) such Derivatives of the software include the above copyright
394825Sgblack@eecs.umich.edu// notice to acknowledge the contribution from this software where
404825Sgblack@eecs.umich.edu// applicable, this list of conditions and the disclaimer below.
414825Sgblack@eecs.umich.edu//
424825Sgblack@eecs.umich.edu// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
434825Sgblack@eecs.umich.edu// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
444825Sgblack@eecs.umich.edu// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
454825Sgblack@eecs.umich.edu// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
464825Sgblack@eecs.umich.edu// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
474825Sgblack@eecs.umich.edu// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
484825Sgblack@eecs.umich.edu// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
494825Sgblack@eecs.umich.edu// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
504825Sgblack@eecs.umich.edu// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
514825Sgblack@eecs.umich.edu// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
524825Sgblack@eecs.umich.edu// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
534825Sgblack@eecs.umich.edu//
544825Sgblack@eecs.umich.edu// Authors: Gabe Black
554825Sgblack@eecs.umich.edu
565162Sgblack@eecs.umich.eduformat WarnUnimpl {
575162Sgblack@eecs.umich.edu    0x1B: decode OPCODE_OP_BOTTOM3 {
585162Sgblack@eecs.umich.edu        //0x0: esc0();
595162Sgblack@eecs.umich.edu        0x0: decode MODRM_REG {
605162Sgblack@eecs.umich.edu            0x0: fadd();
615162Sgblack@eecs.umich.edu            0x1: fmul();
625162Sgblack@eecs.umich.edu            0x2: fcom();
635162Sgblack@eecs.umich.edu            0x3: fcomp();
645162Sgblack@eecs.umich.edu            0x4: fsub();
655162Sgblack@eecs.umich.edu            0x5: fsubr();
665162Sgblack@eecs.umich.edu            0x6: fdiv();
675162Sgblack@eecs.umich.edu            0x7: fdivr();
684825Sgblack@eecs.umich.edu        }
695162Sgblack@eecs.umich.edu        //0x1: esc1();
705162Sgblack@eecs.umich.edu        0x1: decode MODRM_REG {
715162Sgblack@eecs.umich.edu            0x0: fld();
725162Sgblack@eecs.umich.edu            0x1: decode MODRM_MOD {
735162Sgblack@eecs.umich.edu                0x3: fxch();
744825Sgblack@eecs.umich.edu                default: Inst::UD2();
754825Sgblack@eecs.umich.edu            }
765162Sgblack@eecs.umich.edu            0x2: decode MODRM_MOD {
775162Sgblack@eecs.umich.edu                0x3: decode MODRM_RM {
785162Sgblack@eecs.umich.edu                    0x0: fnop();
795162Sgblack@eecs.umich.edu                    default: Inst::UD2();
805162Sgblack@eecs.umich.edu                }
815162Sgblack@eecs.umich.edu                default: fst();
825162Sgblack@eecs.umich.edu            }
835162Sgblack@eecs.umich.edu            0x3: decode MODRM_MOD {
845162Sgblack@eecs.umich.edu                0x3: Inst::UD2();
855162Sgblack@eecs.umich.edu                default: fstp();
865162Sgblack@eecs.umich.edu            }
875162Sgblack@eecs.umich.edu            0x4: decode MODRM_MOD {
885162Sgblack@eecs.umich.edu                0x3: decode MODRM_RM {
895162Sgblack@eecs.umich.edu                    0x0: fchs();
905162Sgblack@eecs.umich.edu                    0x1: fabs();
915162Sgblack@eecs.umich.edu                    0x4: ftst();
925162Sgblack@eecs.umich.edu                    0x5: fxam();
935162Sgblack@eecs.umich.edu                    default: Inst::UD2();
945162Sgblack@eecs.umich.edu                }
955162Sgblack@eecs.umich.edu                default: fldenv();
965162Sgblack@eecs.umich.edu            }
975162Sgblack@eecs.umich.edu            0x5: decode MODRM_MOD {
985162Sgblack@eecs.umich.edu                0x3: decode MODRM_RM {
995162Sgblack@eecs.umich.edu                    0x0: fld1();
1005162Sgblack@eecs.umich.edu                    0x1: fldl2t();
1015162Sgblack@eecs.umich.edu                    0x2: fldl2e();
1025162Sgblack@eecs.umich.edu                    0x3: fldpi();
1035162Sgblack@eecs.umich.edu                    0x4: fldlg2();
1045162Sgblack@eecs.umich.edu                    0x5: fldln2();
1055162Sgblack@eecs.umich.edu                    0x6: fldz();
1065162Sgblack@eecs.umich.edu                }
1075162Sgblack@eecs.umich.edu                default: fldcw_Mw();
1085162Sgblack@eecs.umich.edu            }
1095162Sgblack@eecs.umich.edu            0x6: decode MODRM_MOD {
1105162Sgblack@eecs.umich.edu                0x3: decode MODRM_RM {
1115162Sgblack@eecs.umich.edu                    0x0: f2xm1();
1125162Sgblack@eecs.umich.edu                    0x1: fyl2x();
1135162Sgblack@eecs.umich.edu                    0x2: fptan();
1145162Sgblack@eecs.umich.edu                    0x3: fpatan();
1155162Sgblack@eecs.umich.edu                    0x4: fxtract();
1165162Sgblack@eecs.umich.edu                    0x5: fprem1();
1175162Sgblack@eecs.umich.edu                    0x6: fdecstp();
1185162Sgblack@eecs.umich.edu                    0x7: fincstp();
1195162Sgblack@eecs.umich.edu                }
1205162Sgblack@eecs.umich.edu                default: fnstenv();
1215162Sgblack@eecs.umich.edu            }
1225162Sgblack@eecs.umich.edu            0x7: decode MODRM_MOD {
1235162Sgblack@eecs.umich.edu                0x3: decode MODRM_RM {
1245162Sgblack@eecs.umich.edu                    0x0: fprem();
1255162Sgblack@eecs.umich.edu                    0x1: fyl2xp1();
1265162Sgblack@eecs.umich.edu                    0x2: fsqrt();
1275162Sgblack@eecs.umich.edu                    0x3: fsincos();
1285162Sgblack@eecs.umich.edu                    0x4: frndint();
1295162Sgblack@eecs.umich.edu                    0x5: fscale();
1305162Sgblack@eecs.umich.edu                    0x6: fsin();
1315162Sgblack@eecs.umich.edu                    0x7: fcos();
1325162Sgblack@eecs.umich.edu                }
1335162Sgblack@eecs.umich.edu                default: fnstcw_Mw();
1345162Sgblack@eecs.umich.edu            }
1354825Sgblack@eecs.umich.edu        }
1365162Sgblack@eecs.umich.edu        //0x2: esc2();
1375162Sgblack@eecs.umich.edu        0x2: decode MODRM_REG {
1385162Sgblack@eecs.umich.edu            0x0: decode MODRM_MOD {
1395162Sgblack@eecs.umich.edu                0x3: fcmovb();
1405162Sgblack@eecs.umich.edu                default: fiadd();
1415162Sgblack@eecs.umich.edu            }
1425162Sgblack@eecs.umich.edu            0x1: decode MODRM_MOD {
1435162Sgblack@eecs.umich.edu                0x3: fcmove();
1445162Sgblack@eecs.umich.edu                default: fimul();
1455162Sgblack@eecs.umich.edu            }
1465162Sgblack@eecs.umich.edu            0x2: decode MODRM_MOD {
1475162Sgblack@eecs.umich.edu                0x3: fcmovbe();
1485162Sgblack@eecs.umich.edu                default: ficom();
1495162Sgblack@eecs.umich.edu            }
1505162Sgblack@eecs.umich.edu            0x3: decode MODRM_MOD {
1515162Sgblack@eecs.umich.edu                0x3: fcmovu();
1525162Sgblack@eecs.umich.edu                default: ficomp();
1535162Sgblack@eecs.umich.edu            }
1545162Sgblack@eecs.umich.edu            0x4: decode MODRM_MOD {
1555162Sgblack@eecs.umich.edu                0x3: Inst::UD2();
1565162Sgblack@eecs.umich.edu                default: fisub();
1575162Sgblack@eecs.umich.edu            }
1585162Sgblack@eecs.umich.edu            0x5: decode MODRM_MOD {
1595162Sgblack@eecs.umich.edu                0x3: decode MODRM_RM {
1605162Sgblack@eecs.umich.edu                    0x1: fucompp();
1615162Sgblack@eecs.umich.edu                    default: Inst::UD2();
1625162Sgblack@eecs.umich.edu                }
1635162Sgblack@eecs.umich.edu                default: fisubr();
1645162Sgblack@eecs.umich.edu            }
1655162Sgblack@eecs.umich.edu            0x6: decode MODRM_MOD {
1665162Sgblack@eecs.umich.edu                0x3: Inst::UD2();
1675162Sgblack@eecs.umich.edu                default: fidiv();
1685162Sgblack@eecs.umich.edu            }
1695162Sgblack@eecs.umich.edu            0x7: decode MODRM_MOD {
1705162Sgblack@eecs.umich.edu                0x3: Inst::UD2();
1715162Sgblack@eecs.umich.edu                default: fidivr();
1725162Sgblack@eecs.umich.edu            }
1734825Sgblack@eecs.umich.edu        }
1745162Sgblack@eecs.umich.edu        //0x3: esc3();
1755162Sgblack@eecs.umich.edu        0x3: decode MODRM_REG {
1765162Sgblack@eecs.umich.edu            0x0: decode MODRM_MOD {
1775162Sgblack@eecs.umich.edu                0x3: fcmovnb();
1785162Sgblack@eecs.umich.edu                default: fild();
1795162Sgblack@eecs.umich.edu            }
1805162Sgblack@eecs.umich.edu            0x1: decode MODRM_MOD {
1815162Sgblack@eecs.umich.edu                0x3: fcmovne();
1825162Sgblack@eecs.umich.edu                default: fisttp();
1835162Sgblack@eecs.umich.edu            }
1845162Sgblack@eecs.umich.edu            0x2: decode MODRM_MOD {
1855162Sgblack@eecs.umich.edu                0x3: fcmovnbe();
1865162Sgblack@eecs.umich.edu                default: fist();
1875162Sgblack@eecs.umich.edu            }
1885162Sgblack@eecs.umich.edu            0x3: decode MODRM_MOD {
1895162Sgblack@eecs.umich.edu                0x3: fcmovnu();
1905162Sgblack@eecs.umich.edu                default: fistp();
1915162Sgblack@eecs.umich.edu            }
1925162Sgblack@eecs.umich.edu            0x4: decode MODRM_MOD {
1935162Sgblack@eecs.umich.edu                0x3: decode MODRM_RM {
1945162Sgblack@eecs.umich.edu                    0x2: fnclex();
1955162Sgblack@eecs.umich.edu                    0x3: fninit();
1965162Sgblack@eecs.umich.edu                    default: Inst::UD2();
1975162Sgblack@eecs.umich.edu                }
1984825Sgblack@eecs.umich.edu                default: Inst::UD2();
1994825Sgblack@eecs.umich.edu            }
2005162Sgblack@eecs.umich.edu            0x5: decode MODRM_MOD {
2015162Sgblack@eecs.umich.edu                0x3: fucomi();
2025162Sgblack@eecs.umich.edu                default: fld();
2034825Sgblack@eecs.umich.edu            }
2045162Sgblack@eecs.umich.edu            0x6: decode MODRM_MOD {
2055162Sgblack@eecs.umich.edu                0x3: fcomi();
2064825Sgblack@eecs.umich.edu                default: Inst::UD2();
2074825Sgblack@eecs.umich.edu            }
2085162Sgblack@eecs.umich.edu            0x7: decode MODRM_MOD {
2095162Sgblack@eecs.umich.edu                0x3: Inst::UD2();
2105162Sgblack@eecs.umich.edu                default: fstp();
2115162Sgblack@eecs.umich.edu            }
2124825Sgblack@eecs.umich.edu        }
2135162Sgblack@eecs.umich.edu        //0x4: esc4();
2145162Sgblack@eecs.umich.edu        0x4: decode MODRM_REG {
2155162Sgblack@eecs.umich.edu            0x0: fadd();
2165162Sgblack@eecs.umich.edu            0x1: fmul();
2175162Sgblack@eecs.umich.edu            0x2: decode MODRM_MOD {
2185162Sgblack@eecs.umich.edu                0x3: Inst::UD2();
2195162Sgblack@eecs.umich.edu                default: fcom();
2205162Sgblack@eecs.umich.edu            }
2215162Sgblack@eecs.umich.edu            0x3: decode MODRM_MOD {
2225162Sgblack@eecs.umich.edu                0x3: Inst::UD2();
2235162Sgblack@eecs.umich.edu                default: fcomp();
2245162Sgblack@eecs.umich.edu            }
2255162Sgblack@eecs.umich.edu            0x4: decode MODRM_MOD {
2265162Sgblack@eecs.umich.edu                0x3: fsubr();
2275162Sgblack@eecs.umich.edu                default: fsub();
2285162Sgblack@eecs.umich.edu            }
2295162Sgblack@eecs.umich.edu            0x5: decode MODRM_MOD {
2305162Sgblack@eecs.umich.edu                0x3: fsub();
2315162Sgblack@eecs.umich.edu                default: fsubr();
2325162Sgblack@eecs.umich.edu            }
2335162Sgblack@eecs.umich.edu            0x6: decode MODRM_MOD {
2345162Sgblack@eecs.umich.edu                0x3: fdivr();
2355162Sgblack@eecs.umich.edu                default: fdiv();
2365162Sgblack@eecs.umich.edu            }
2375162Sgblack@eecs.umich.edu            0x7: decode MODRM_MOD {
2385162Sgblack@eecs.umich.edu                0x3: fdiv();
2395162Sgblack@eecs.umich.edu                default: fdivr();
2405162Sgblack@eecs.umich.edu            }
2414825Sgblack@eecs.umich.edu        }
2425162Sgblack@eecs.umich.edu        //0x5: esc5();
2435162Sgblack@eecs.umich.edu        0x5: decode MODRM_REG {
2445162Sgblack@eecs.umich.edu            0x0: decode MODRM_MOD {
2455162Sgblack@eecs.umich.edu                0x3: ffree();
2465162Sgblack@eecs.umich.edu                default: Inst::FLD(Mq);
2475162Sgblack@eecs.umich.edu            }
2485162Sgblack@eecs.umich.edu            0x1: decode MODRM_MOD {
2495162Sgblack@eecs.umich.edu                0x3: Inst::UD2();
2505162Sgblack@eecs.umich.edu                default: fisttp();
2515162Sgblack@eecs.umich.edu            }
2525162Sgblack@eecs.umich.edu            0x2: Inst::FST(Mq);
2535162Sgblack@eecs.umich.edu            0x3: Inst::FSTP(Mq);
2545162Sgblack@eecs.umich.edu            0x4: decode MODRM_MOD {
2555162Sgblack@eecs.umich.edu                0x3: fucom();
2565162Sgblack@eecs.umich.edu                default: frstor();
2575162Sgblack@eecs.umich.edu            }
2585162Sgblack@eecs.umich.edu            0x5: decode MODRM_MOD {
2595162Sgblack@eecs.umich.edu                0x3: fucomp();
2604825Sgblack@eecs.umich.edu                default: Inst::UD2();
2614825Sgblack@eecs.umich.edu            }
2625162Sgblack@eecs.umich.edu            0x6: decode MODRM_MOD {
2635162Sgblack@eecs.umich.edu                0x3: Inst::UD2();
2645162Sgblack@eecs.umich.edu                default: fnsave();
2655162Sgblack@eecs.umich.edu            }
2665162Sgblack@eecs.umich.edu            0x7: decode MODRM_MOD {
2675162Sgblack@eecs.umich.edu                0x3: Inst::UD2();
2685162Sgblack@eecs.umich.edu                default: fnstsw();
2695162Sgblack@eecs.umich.edu            }
2704825Sgblack@eecs.umich.edu        }
2715162Sgblack@eecs.umich.edu        //0x6: esc6();
2725162Sgblack@eecs.umich.edu        0x6: decode MODRM_REG {
2735162Sgblack@eecs.umich.edu            0x0: decode MODRM_MOD {
2745162Sgblack@eecs.umich.edu                0x3: faddp();
2755162Sgblack@eecs.umich.edu                default: fiadd();
2765162Sgblack@eecs.umich.edu            }
2775162Sgblack@eecs.umich.edu            0x1: decode MODRM_MOD {
2785162Sgblack@eecs.umich.edu                0x3: fmulp();
2795162Sgblack@eecs.umich.edu                default: fimul();
2805162Sgblack@eecs.umich.edu            }
2815162Sgblack@eecs.umich.edu            0x2: decode MODRM_MOD {
2825162Sgblack@eecs.umich.edu                0x3: Inst::UD2();
2835162Sgblack@eecs.umich.edu                default: ficom();
2845162Sgblack@eecs.umich.edu            }
2855162Sgblack@eecs.umich.edu            0x3: decode MODRM_MOD {
2865162Sgblack@eecs.umich.edu                0x3: decode MODRM_RM {
2875162Sgblack@eecs.umich.edu                    0x1: fcompp();
2885162Sgblack@eecs.umich.edu                    default: Inst::UD2();
2895162Sgblack@eecs.umich.edu                }
2905162Sgblack@eecs.umich.edu                default: ficomp();
2915162Sgblack@eecs.umich.edu            }
2925162Sgblack@eecs.umich.edu            0x4: decode MODRM_MOD {
2935162Sgblack@eecs.umich.edu                0x3: fsubrp();
2945162Sgblack@eecs.umich.edu                default: fisub();
2955162Sgblack@eecs.umich.edu            }
2965162Sgblack@eecs.umich.edu            0x5: decode MODRM_MOD {
2975162Sgblack@eecs.umich.edu                0x3: fsubp();
2985162Sgblack@eecs.umich.edu                default: fisubr();
2995162Sgblack@eecs.umich.edu            }
3005162Sgblack@eecs.umich.edu            0x6: decode MODRM_MOD {
3015162Sgblack@eecs.umich.edu                0x3: fdivrp();
3025162Sgblack@eecs.umich.edu                default: fidiv();
3035162Sgblack@eecs.umich.edu            }
3045162Sgblack@eecs.umich.edu            0x7: decode MODRM_MOD {
3055162Sgblack@eecs.umich.edu                0x3: fdivp();
3065162Sgblack@eecs.umich.edu                default: fidivr();
3075162Sgblack@eecs.umich.edu            }
3084825Sgblack@eecs.umich.edu        }
3095162Sgblack@eecs.umich.edu        //0x7: esc7();
3105162Sgblack@eecs.umich.edu        0x7: decode MODRM_REG {
3115162Sgblack@eecs.umich.edu            0x0: decode MODRM_MOD {
3125162Sgblack@eecs.umich.edu                0x3: Inst::UD2();
3135162Sgblack@eecs.umich.edu                default: fild();
3144825Sgblack@eecs.umich.edu            }
3155162Sgblack@eecs.umich.edu            0x1: decode MODRM_MOD {
3165162Sgblack@eecs.umich.edu                0x3: Inst::UD2();
3175162Sgblack@eecs.umich.edu                default: fisttp();
3184825Sgblack@eecs.umich.edu            }
3195162Sgblack@eecs.umich.edu            0x2: decode MODRM_MOD {
3205162Sgblack@eecs.umich.edu                0x3: Inst::UD2();
3215162Sgblack@eecs.umich.edu                default: fist();
3225162Sgblack@eecs.umich.edu            }
3235162Sgblack@eecs.umich.edu            0x3: decode MODRM_MOD {
3245162Sgblack@eecs.umich.edu                0x3: Inst::UD2();
3255162Sgblack@eecs.umich.edu                default: fistp();
3265162Sgblack@eecs.umich.edu            }
3275162Sgblack@eecs.umich.edu            0x4: decode MODRM_MOD {
3285162Sgblack@eecs.umich.edu                0x3: decode MODRM_RM {
3295162Sgblack@eecs.umich.edu                    0x0: fnstsw();
3305162Sgblack@eecs.umich.edu                    default: Inst::UD2();
3315162Sgblack@eecs.umich.edu                }
3325162Sgblack@eecs.umich.edu                default: fbld();
3335162Sgblack@eecs.umich.edu            }
3345162Sgblack@eecs.umich.edu            0x5: decode MODRM_MOD {
3355162Sgblack@eecs.umich.edu                0x3: fucomip();
3365162Sgblack@eecs.umich.edu                default: fild();
3375162Sgblack@eecs.umich.edu            }
3385162Sgblack@eecs.umich.edu            0x6: decode MODRM_MOD {
3395162Sgblack@eecs.umich.edu                0x3: fcomip();
3405162Sgblack@eecs.umich.edu                default: fbstp();
3415162Sgblack@eecs.umich.edu            }
3425162Sgblack@eecs.umich.edu            0x7: decode MODRM_MOD {
3435162Sgblack@eecs.umich.edu                0x3: Inst::UD2();
3445162Sgblack@eecs.umich.edu                default: fistp();
3455162Sgblack@eecs.umich.edu            }
3464825Sgblack@eecs.umich.edu        }
3474825Sgblack@eecs.umich.edu    }
3484825Sgblack@eecs.umich.edu}
349