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