x87.isa revision 4825
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 564825Sgblack@eecs.umich.edu0x1B: decode OPCODE_OP_BOTTOM3 { 574825Sgblack@eecs.umich.edu //0x0: esc0(); 584825Sgblack@eecs.umich.edu 0x0: decode MODRM_REG { 594825Sgblack@eecs.umich.edu 0x0: fadd(); 604825Sgblack@eecs.umich.edu 0x1: fmul(); 614825Sgblack@eecs.umich.edu 0x2: fcom(); 624825Sgblack@eecs.umich.edu 0x3: fcomp(); 634825Sgblack@eecs.umich.edu 0x4: fsub(); 644825Sgblack@eecs.umich.edu 0x5: fsubr(); 654825Sgblack@eecs.umich.edu 0x6: fdiv(); 664825Sgblack@eecs.umich.edu 0x7: fdivr(); 674825Sgblack@eecs.umich.edu } 684825Sgblack@eecs.umich.edu //0x1: esc1(); 694825Sgblack@eecs.umich.edu 0x1: decode MODRM_REG { 704825Sgblack@eecs.umich.edu 0x0: fld(); 714825Sgblack@eecs.umich.edu 0x1: decode MODRM_MOD { 724825Sgblack@eecs.umich.edu 0x3: fxch(); 734825Sgblack@eecs.umich.edu default: Inst::UD2(); 744825Sgblack@eecs.umich.edu } 754825Sgblack@eecs.umich.edu 0x2: decode MODRM_MOD { 764825Sgblack@eecs.umich.edu 0x3: decode MODRM_RM { 774825Sgblack@eecs.umich.edu 0x0: fnop(); 784825Sgblack@eecs.umich.edu default: Inst::UD2(); 794825Sgblack@eecs.umich.edu } 804825Sgblack@eecs.umich.edu default: fst(); 814825Sgblack@eecs.umich.edu } 824825Sgblack@eecs.umich.edu 0x3: decode MODRM_MOD { 834825Sgblack@eecs.umich.edu 0x3: Inst::UD2(); 844825Sgblack@eecs.umich.edu default: fstp(); 854825Sgblack@eecs.umich.edu } 864825Sgblack@eecs.umich.edu 0x4: decode MODRM_MOD { 874825Sgblack@eecs.umich.edu 0x3: decode MODRM_RM { 884825Sgblack@eecs.umich.edu 0x0: fchs(); 894825Sgblack@eecs.umich.edu 0x1: fabs(); 904825Sgblack@eecs.umich.edu 0x4: ftst(); 914825Sgblack@eecs.umich.edu 0x5: fxam(); 924825Sgblack@eecs.umich.edu default: Inst::UD2(); 934825Sgblack@eecs.umich.edu } 944825Sgblack@eecs.umich.edu default: fldenv(); 954825Sgblack@eecs.umich.edu } 964825Sgblack@eecs.umich.edu 0x5: decode MODRM_MOD { 974825Sgblack@eecs.umich.edu 0x3: decode MODRM_RM { 984825Sgblack@eecs.umich.edu 0x0: fld1(); 994825Sgblack@eecs.umich.edu 0x1: fldl2t(); 1004825Sgblack@eecs.umich.edu 0x2: fldl2e(); 1014825Sgblack@eecs.umich.edu 0x3: fldpi(); 1024825Sgblack@eecs.umich.edu 0x4: fldlg2(); 1034825Sgblack@eecs.umich.edu 0x5: fldln2(); 1044825Sgblack@eecs.umich.edu 0x6: fldz(); 1054825Sgblack@eecs.umich.edu } 1064825Sgblack@eecs.umich.edu default: fldcw(); 1074825Sgblack@eecs.umich.edu } 1084825Sgblack@eecs.umich.edu 0x6: decode MODRM_MOD { 1094825Sgblack@eecs.umich.edu 0x3: decode MODRM_RM { 1104825Sgblack@eecs.umich.edu 0x0: f2xm1(); 1114825Sgblack@eecs.umich.edu 0x1: fyl2x(); 1124825Sgblack@eecs.umich.edu 0x2: fptan(); 1134825Sgblack@eecs.umich.edu 0x3: fpatan(); 1144825Sgblack@eecs.umich.edu 0x4: fxtract(); 1154825Sgblack@eecs.umich.edu 0x5: fprem1(); 1164825Sgblack@eecs.umich.edu 0x6: fdecstp(); 1174825Sgblack@eecs.umich.edu 0x7: fincstp(); 1184825Sgblack@eecs.umich.edu } 1194825Sgblack@eecs.umich.edu default: fnstenv(); 1204825Sgblack@eecs.umich.edu } 1214825Sgblack@eecs.umich.edu 0x7: decode MODRM_MOD { 1224825Sgblack@eecs.umich.edu 0x3: decode MODRM_RM { 1234825Sgblack@eecs.umich.edu 0x0: fprem(); 1244825Sgblack@eecs.umich.edu 0x1: fyl2xp1(); 1254825Sgblack@eecs.umich.edu 0x2: fsqrt(); 1264825Sgblack@eecs.umich.edu 0x3: fsincos(); 1274825Sgblack@eecs.umich.edu 0x4: frndint(); 1284825Sgblack@eecs.umich.edu 0x5: fscale(); 1294825Sgblack@eecs.umich.edu 0x6: fsin(); 1304825Sgblack@eecs.umich.edu 0x7: fcos(); 1314825Sgblack@eecs.umich.edu } 1324825Sgblack@eecs.umich.edu default: fnstcw(); 1334825Sgblack@eecs.umich.edu } 1344825Sgblack@eecs.umich.edu } 1354825Sgblack@eecs.umich.edu //0x2: esc2(); 1364825Sgblack@eecs.umich.edu 0x2: decode MODRM_REG { 1374825Sgblack@eecs.umich.edu 0x0: decode MODRM_MOD { 1384825Sgblack@eecs.umich.edu 0x3: fcmovb(); 1394825Sgblack@eecs.umich.edu default: fiadd(); 1404825Sgblack@eecs.umich.edu } 1414825Sgblack@eecs.umich.edu 0x1: decode MODRM_MOD { 1424825Sgblack@eecs.umich.edu 0x3: fcmove(); 1434825Sgblack@eecs.umich.edu default: fimul(); 1444825Sgblack@eecs.umich.edu } 1454825Sgblack@eecs.umich.edu 0x2: decode MODRM_MOD { 1464825Sgblack@eecs.umich.edu 0x3: fcmovbe(); 1474825Sgblack@eecs.umich.edu default: ficom(); 1484825Sgblack@eecs.umich.edu } 1494825Sgblack@eecs.umich.edu 0x3: decode MODRM_MOD { 1504825Sgblack@eecs.umich.edu 0x3: fcmovu(); 1514825Sgblack@eecs.umich.edu default: ficomp(); 1524825Sgblack@eecs.umich.edu } 1534825Sgblack@eecs.umich.edu 0x4: decode MODRM_MOD { 1544825Sgblack@eecs.umich.edu 0x3: Inst::UD2(); 1554825Sgblack@eecs.umich.edu default: fisub(); 1564825Sgblack@eecs.umich.edu } 1574825Sgblack@eecs.umich.edu 0x5: decode MODRM_MOD { 1584825Sgblack@eecs.umich.edu 0x3: decode MODRM_RM { 1594825Sgblack@eecs.umich.edu 0x1: fucompp(); 1604825Sgblack@eecs.umich.edu default: Inst::UD2(); 1614825Sgblack@eecs.umich.edu } 1624825Sgblack@eecs.umich.edu default: fisubr(); 1634825Sgblack@eecs.umich.edu } 1644825Sgblack@eecs.umich.edu 0x6: decode MODRM_MOD { 1654825Sgblack@eecs.umich.edu 0x3: Inst::UD2(); 1664825Sgblack@eecs.umich.edu default: fidiv(); 1674825Sgblack@eecs.umich.edu } 1684825Sgblack@eecs.umich.edu 0x7: decode MODRM_MOD { 1694825Sgblack@eecs.umich.edu 0x3: Inst::UD2(); 1704825Sgblack@eecs.umich.edu default: fidivr(); 1714825Sgblack@eecs.umich.edu } 1724825Sgblack@eecs.umich.edu } 1734825Sgblack@eecs.umich.edu //0x3: esc3(); 1744825Sgblack@eecs.umich.edu 0x3: decode MODRM_REG { 1754825Sgblack@eecs.umich.edu 0x0: decode MODRM_MOD { 1764825Sgblack@eecs.umich.edu 0x3: fcmovnb(); 1774825Sgblack@eecs.umich.edu default: fild(); 1784825Sgblack@eecs.umich.edu } 1794825Sgblack@eecs.umich.edu 0x1: decode MODRM_MOD { 1804825Sgblack@eecs.umich.edu 0x3: fcmovne(); 1814825Sgblack@eecs.umich.edu default: fisttp(); 1824825Sgblack@eecs.umich.edu } 1834825Sgblack@eecs.umich.edu 0x2: decode MODRM_MOD { 1844825Sgblack@eecs.umich.edu 0x3: fcmovnbe(); 1854825Sgblack@eecs.umich.edu default: fist(); 1864825Sgblack@eecs.umich.edu } 1874825Sgblack@eecs.umich.edu 0x3: decode MODRM_MOD { 1884825Sgblack@eecs.umich.edu 0x3: fcmovnu(); 1894825Sgblack@eecs.umich.edu default: fistp(); 1904825Sgblack@eecs.umich.edu } 1914825Sgblack@eecs.umich.edu 0x4: decode MODRM_MOD { 1924825Sgblack@eecs.umich.edu 0x3: decode MODRM_RM { 1934825Sgblack@eecs.umich.edu 0x2: fnclex(); 1944825Sgblack@eecs.umich.edu 0x3: fninit(); 1954825Sgblack@eecs.umich.edu default: Inst::UD2(); 1964825Sgblack@eecs.umich.edu } 1974825Sgblack@eecs.umich.edu default: Inst::UD2(); 1984825Sgblack@eecs.umich.edu } 1994825Sgblack@eecs.umich.edu 0x5: decode MODRM_MOD { 2004825Sgblack@eecs.umich.edu 0x3: fucomi(); 2014825Sgblack@eecs.umich.edu default: fld(); 2024825Sgblack@eecs.umich.edu } 2034825Sgblack@eecs.umich.edu 0x6: decode MODRM_MOD { 2044825Sgblack@eecs.umich.edu 0x3: fcomi(); 2054825Sgblack@eecs.umich.edu default: Inst::UD2(); 2064825Sgblack@eecs.umich.edu } 2074825Sgblack@eecs.umich.edu 0x7: decode MODRM_MOD { 2084825Sgblack@eecs.umich.edu 0x3: Inst::UD2(); 2094825Sgblack@eecs.umich.edu default: fstp(); 2104825Sgblack@eecs.umich.edu } 2114825Sgblack@eecs.umich.edu } 2124825Sgblack@eecs.umich.edu //0x4: esc4(); 2134825Sgblack@eecs.umich.edu 0x4: decode MODRM_REG { 2144825Sgblack@eecs.umich.edu 0x0: fadd(); 2154825Sgblack@eecs.umich.edu 0x1: fmul(); 2164825Sgblack@eecs.umich.edu 0x2: decode MODRM_MOD { 2174825Sgblack@eecs.umich.edu 0x3: Inst::UD2(); 2184825Sgblack@eecs.umich.edu default: fcom(); 2194825Sgblack@eecs.umich.edu } 2204825Sgblack@eecs.umich.edu 0x3: decode MODRM_MOD { 2214825Sgblack@eecs.umich.edu 0x3: Inst::UD2(); 2224825Sgblack@eecs.umich.edu default: fcomp(); 2234825Sgblack@eecs.umich.edu } 2244825Sgblack@eecs.umich.edu 0x4: decode MODRM_MOD { 2254825Sgblack@eecs.umich.edu 0x3: fsubr(); 2264825Sgblack@eecs.umich.edu default: fsub(); 2274825Sgblack@eecs.umich.edu } 2284825Sgblack@eecs.umich.edu 0x5: decode MODRM_MOD { 2294825Sgblack@eecs.umich.edu 0x3: fsub(); 2304825Sgblack@eecs.umich.edu default: fsubr(); 2314825Sgblack@eecs.umich.edu } 2324825Sgblack@eecs.umich.edu 0x6: decode MODRM_MOD { 2334825Sgblack@eecs.umich.edu 0x3: fdivr(); 2344825Sgblack@eecs.umich.edu default: fdiv(); 2354825Sgblack@eecs.umich.edu } 2364825Sgblack@eecs.umich.edu 0x7: decode MODRM_MOD { 2374825Sgblack@eecs.umich.edu 0x3: fdiv(); 2384825Sgblack@eecs.umich.edu default: fdivr(); 2394825Sgblack@eecs.umich.edu } 2404825Sgblack@eecs.umich.edu } 2414825Sgblack@eecs.umich.edu //0x5: esc5(); 2424825Sgblack@eecs.umich.edu 0x5: decode MODRM_REG { 2434825Sgblack@eecs.umich.edu 0x0: decode MODRM_MOD { 2444825Sgblack@eecs.umich.edu 0x3: ffree(); 2454825Sgblack@eecs.umich.edu default: fld(); 2464825Sgblack@eecs.umich.edu } 2474825Sgblack@eecs.umich.edu 0x1: decode MODRM_MOD { 2484825Sgblack@eecs.umich.edu 0x3: Inst::UD2(); 2494825Sgblack@eecs.umich.edu default: fisttp(); 2504825Sgblack@eecs.umich.edu } 2514825Sgblack@eecs.umich.edu 0x2: fst(); 2524825Sgblack@eecs.umich.edu 0x3: fstp(); 2534825Sgblack@eecs.umich.edu 0x4: decode MODRM_MOD { 2544825Sgblack@eecs.umich.edu 0x3: fucom(); 2554825Sgblack@eecs.umich.edu default: frstor(); 2564825Sgblack@eecs.umich.edu } 2574825Sgblack@eecs.umich.edu 0x5: decode MODRM_MOD { 2584825Sgblack@eecs.umich.edu 0x3: fucomp(); 2594825Sgblack@eecs.umich.edu default: Inst::UD2(); 2604825Sgblack@eecs.umich.edu } 2614825Sgblack@eecs.umich.edu 0x6: decode MODRM_MOD { 2624825Sgblack@eecs.umich.edu 0x3: Inst::UD2(); 2634825Sgblack@eecs.umich.edu default: fnsave(); 2644825Sgblack@eecs.umich.edu } 2654825Sgblack@eecs.umich.edu 0x7: decode MODRM_MOD { 2664825Sgblack@eecs.umich.edu 0x3: Inst::UD2(); 2674825Sgblack@eecs.umich.edu default: fnstsw(); 2684825Sgblack@eecs.umich.edu } 2694825Sgblack@eecs.umich.edu } 2704825Sgblack@eecs.umich.edu //0x6: esc6(); 2714825Sgblack@eecs.umich.edu 0x6: decode MODRM_REG { 2724825Sgblack@eecs.umich.edu 0x0: decode MODRM_MOD { 2734825Sgblack@eecs.umich.edu 0x3: faddp(); 2744825Sgblack@eecs.umich.edu default: fiadd(); 2754825Sgblack@eecs.umich.edu } 2764825Sgblack@eecs.umich.edu 0x1: decode MODRM_MOD { 2774825Sgblack@eecs.umich.edu 0x3: fmulp(); 2784825Sgblack@eecs.umich.edu default: fimul(); 2794825Sgblack@eecs.umich.edu } 2804825Sgblack@eecs.umich.edu 0x2: decode MODRM_MOD { 2814825Sgblack@eecs.umich.edu 0x3: Inst::UD2(); 2824825Sgblack@eecs.umich.edu default: ficom(); 2834825Sgblack@eecs.umich.edu } 2844825Sgblack@eecs.umich.edu 0x3: decode MODRM_MOD { 2854825Sgblack@eecs.umich.edu 0x3: decode MODRM_RM { 2864825Sgblack@eecs.umich.edu 0x1: fcompp(); 2874825Sgblack@eecs.umich.edu default: Inst::UD2(); 2884825Sgblack@eecs.umich.edu } 2894825Sgblack@eecs.umich.edu default: ficomp(); 2904825Sgblack@eecs.umich.edu } 2914825Sgblack@eecs.umich.edu 0x4: decode MODRM_MOD { 2924825Sgblack@eecs.umich.edu 0x3: fsubrp(); 2934825Sgblack@eecs.umich.edu default: fisub(); 2944825Sgblack@eecs.umich.edu } 2954825Sgblack@eecs.umich.edu 0x5: decode MODRM_MOD { 2964825Sgblack@eecs.umich.edu 0x3: fsubp(); 2974825Sgblack@eecs.umich.edu default: fisubr(); 2984825Sgblack@eecs.umich.edu } 2994825Sgblack@eecs.umich.edu 0x6: decode MODRM_MOD { 3004825Sgblack@eecs.umich.edu 0x3: fdivrp(); 3014825Sgblack@eecs.umich.edu default: fidiv(); 3024825Sgblack@eecs.umich.edu } 3034825Sgblack@eecs.umich.edu 0x7: decode MODRM_MOD { 3044825Sgblack@eecs.umich.edu 0x3: fdivp(); 3054825Sgblack@eecs.umich.edu default: fidivr(); 3064825Sgblack@eecs.umich.edu } 3074825Sgblack@eecs.umich.edu } 3084825Sgblack@eecs.umich.edu //0x7: esc7(); 3094825Sgblack@eecs.umich.edu 0x7: decode MODRM_REG { 3104825Sgblack@eecs.umich.edu 0x0: decode MODRM_MOD { 3114825Sgblack@eecs.umich.edu 0x3: Inst::UD2(); 3124825Sgblack@eecs.umich.edu default: fild(); 3134825Sgblack@eecs.umich.edu } 3144825Sgblack@eecs.umich.edu 0x1: decode MODRM_MOD { 3154825Sgblack@eecs.umich.edu 0x3: Inst::UD2(); 3164825Sgblack@eecs.umich.edu default: fisttp(); 3174825Sgblack@eecs.umich.edu } 3184825Sgblack@eecs.umich.edu 0x2: decode MODRM_MOD { 3194825Sgblack@eecs.umich.edu 0x3: Inst::UD2(); 3204825Sgblack@eecs.umich.edu default: fist(); 3214825Sgblack@eecs.umich.edu } 3224825Sgblack@eecs.umich.edu 0x3: decode MODRM_MOD { 3234825Sgblack@eecs.umich.edu 0x3: Inst::UD2(); 3244825Sgblack@eecs.umich.edu default: fistp(); 3254825Sgblack@eecs.umich.edu } 3264825Sgblack@eecs.umich.edu 0x4: decode MODRM_MOD { 3274825Sgblack@eecs.umich.edu 0x3: decode MODRM_RM { 3284825Sgblack@eecs.umich.edu 0x0: fnstsw(); 3294825Sgblack@eecs.umich.edu default: Inst::UD2(); 3304825Sgblack@eecs.umich.edu } 3314825Sgblack@eecs.umich.edu default: fbld(); 3324825Sgblack@eecs.umich.edu } 3334825Sgblack@eecs.umich.edu 0x5: decode MODRM_MOD { 3344825Sgblack@eecs.umich.edu 0x3: fucomip(); 3354825Sgblack@eecs.umich.edu default: fild(); 3364825Sgblack@eecs.umich.edu } 3374825Sgblack@eecs.umich.edu 0x6: decode MODRM_MOD { 3384825Sgblack@eecs.umich.edu 0x3: fcomip(); 3394825Sgblack@eecs.umich.edu default: fbstp(); 3404825Sgblack@eecs.umich.edu } 3414825Sgblack@eecs.umich.edu 0x7: decode MODRM_MOD { 3424825Sgblack@eecs.umich.edu 0x3: Inst::UD2(); 3434825Sgblack@eecs.umich.edu default: fistp(); 3444825Sgblack@eecs.umich.edu } 3454825Sgblack@eecs.umich.edu } 3464825Sgblack@eecs.umich.edu} 347