x87.isa (9472:8a2175fa7fa0) | x87.isa (9582:0632d2d1575c) |
---|---|
1// Copyright (c) 2007 The Hewlett-Packard Development Company | 1// Copyright (c) 2007 The Hewlett-Packard Development Company |
2// Copyright (c) 2012-13 Mark D. Hill and David A. Wood |
|
2// All rights reserved. 3// 4// The license below extends only to copyright in the software and shall 5// not be construed as granting a license to any other intellectual 6// property including but not limited to intellectual property relating 7// to a hardware implementation of the functionality of the software 8// licensed hereunder. You may use the software subject to the license 9// terms below provided that you ensure that this notice is replicated --- 19 unchanged lines hidden (view full) --- 29// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 30// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 31// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 32// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 33// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 34// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 35// 36// Authors: Gabe Black | 3// All rights reserved. 4// 5// The license below extends only to copyright in the software and shall 6// not be construed as granting a license to any other intellectual 7// property including but not limited to intellectual property relating 8// to a hardware implementation of the functionality of the software 9// licensed hereunder. You may use the software subject to the license 10// terms below provided that you ensure that this notice is replicated --- 19 unchanged lines hidden (view full) --- 30// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 31// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 32// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 33// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 34// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 35// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 36// 37// Authors: Gabe Black |
38// Nilay Vaish |
|
37 38format WarnUnimpl { 39 0x1B: decode OPCODE_OP_BOTTOM3 { 40 //0x0: esc0(); 41 0x0: decode MODRM_REG { | 39 40format WarnUnimpl { 41 0x1B: decode OPCODE_OP_BOTTOM3 { 42 //0x0: esc0(); 43 0x0: decode MODRM_REG { |
44 // ST(0) = ST(0) + 32-bit Mem |
|
42 0x0: fadd(); 43 0x1: fmul(); 44 0x2: fcom(); 45 0x3: fcomp(); 46 0x4: fsub(); 47 0x5: fsubr(); 48 0x6: fdiv(); 49 0x7: fdivr(); 50 } 51 //0x1: esc1(); 52 0x1: decode MODRM_REG { | 45 0x0: fadd(); 46 0x1: fmul(); 47 0x2: fcom(); 48 0x3: fcomp(); 49 0x4: fsub(); 50 0x5: fsubr(); 51 0x6: fdiv(); 52 0x7: fdivr(); 53 } 54 //0x1: esc1(); 55 0x1: decode MODRM_REG { |
53 0x0: fld(); | 56 0x0: decode MODRM_MOD { 57 0x3: Inst::FLD(Eq); 58 // 32-bit load 59 default: Inst::FLD(Md); 60 } |
54 0x1: decode MODRM_MOD { 55 0x3: fxch(); 56 default: Inst::UD2(); 57 } 58 0x2: decode MODRM_MOD { 59 0x3: decode MODRM_RM { 60 0x0: fnop(); 61 default: Inst::UD2(); --- 11 unchanged lines hidden (view full) --- 73 0x4: ftst(); 74 0x5: fxam(); 75 default: Inst::UD2(); 76 } 77 default: fldenv(); 78 } 79 0x5: decode MODRM_MOD { 80 0x3: decode MODRM_RM { | 61 0x1: decode MODRM_MOD { 62 0x3: fxch(); 63 default: Inst::UD2(); 64 } 65 0x2: decode MODRM_MOD { 66 0x3: decode MODRM_RM { 67 0x0: fnop(); 68 default: Inst::UD2(); --- 11 unchanged lines hidden (view full) --- 80 0x4: ftst(); 81 0x5: fxam(); 82 default: Inst::UD2(); 83 } 84 default: fldenv(); 85 } 86 0x5: decode MODRM_MOD { 87 0x3: decode MODRM_RM { |
81 0x0: fld1(); 82 0x1: fldl2t(); 83 0x2: fldl2e(); 84 0x3: fldpi(); 85 0x4: fldlg2(); 86 0x5: fldln2(); 87 0x6: fldz(); | 88 0x0: Inst::FLD1(); 89 0x1: Inst::FLDL2T(); 90 0x2: Inst::FLDL2E(); 91 0x3: Inst::FLDPI(); 92 0x4: Inst::FLDLG2(); 93 0x5: Inst::FLDLN2(); 94 0x6: Inst::FLDZ(); |
88 } | 95 } |
89 default: fldcw_Mw(); | 96 default: Inst::FLDCW(Mw); |
90 } 91 0x6: decode MODRM_MOD { 92 0x3: decode MODRM_RM { 93 0x0: f2xm1(); | 97 } 98 0x6: decode MODRM_MOD { 99 0x3: decode MODRM_RM { 100 0x0: f2xm1(); |
94 0x1: fyl2x(); 95 0x2: fptan(); | 101 0x1: Inst::FYL2X(); 102 0x2: Inst::FPTAN(); |
96 0x3: fpatan(); 97 0x4: fxtract(); | 103 0x3: fpatan(); 104 0x4: fxtract(); |
98 0x5: fprem1(); | 105 0x5: Inst::FPREM1(); |
99 0x6: fdecstp(); 100 0x7: fincstp(); 101 } 102 default: fnstenv(); 103 } 104 0x7: decode MODRM_MOD { 105 0x3: decode MODRM_RM { | 106 0x6: fdecstp(); 107 0x7: fincstp(); 108 } 109 default: fnstenv(); 110 } 111 0x7: decode MODRM_MOD { 112 0x3: decode MODRM_RM { |
106 0x0: fprem(); | 113 0x0: Inst::FPREM(); |
107 0x1: fyl2xp1(); 108 0x2: fsqrt(); 109 0x3: Inst::FSINCOS(); 110 0x4: frndint(); 111 0x5: fscale(); 112 0x6: Inst::FSIN(); 113 0x7: Inst::FCOS(); 114 } --- 61 unchanged lines hidden (view full) --- 176 0x2: fnclex(); 177 0x3: fninit(); 178 default: Inst::UD2(); 179 } 180 default: Inst::UD2(); 181 } 182 0x5: decode MODRM_MOD { 183 0x3: fucomi(); | 114 0x1: fyl2xp1(); 115 0x2: fsqrt(); 116 0x3: Inst::FSINCOS(); 117 0x4: frndint(); 118 0x5: fscale(); 119 0x6: Inst::FSIN(); 120 0x7: Inst::FCOS(); 121 } --- 61 unchanged lines hidden (view full) --- 183 0x2: fnclex(); 184 0x3: fninit(); 185 default: Inst::UD2(); 186 } 187 default: Inst::UD2(); 188 } 189 0x5: decode MODRM_MOD { 190 0x3: fucomi(); |
191 // 80-bit load |
|
184 default: fld(); 185 } 186 0x6: decode MODRM_MOD { 187 0x3: fcomi(); 188 default: Inst::UD2(); 189 } 190 0x7: decode MODRM_MOD { 191 0x3: Inst::UD2(); --- 28 unchanged lines hidden (view full) --- 220 0x3: fdiv(); 221 default: fdivr(); 222 } 223 } 224 //0x5: esc5(); 225 0x5: decode MODRM_REG { 226 0x0: decode MODRM_MOD { 227 0x3: ffree(); | 192 default: fld(); 193 } 194 0x6: decode MODRM_MOD { 195 0x3: fcomi(); 196 default: Inst::UD2(); 197 } 198 0x7: decode MODRM_MOD { 199 0x3: Inst::UD2(); --- 28 unchanged lines hidden (view full) --- 228 0x3: fdiv(); 229 default: fdivr(); 230 } 231 } 232 //0x5: esc5(); 233 0x5: decode MODRM_REG { 234 0x0: decode MODRM_MOD { 235 0x3: ffree(); |
236 // 64-bit load |
|
228 default: Inst::FLD(Mq); 229 } 230 0x1: decode MODRM_MOD { 231 0x3: Inst::UD2(); 232 default: fisttp(); 233 } 234 0x2: Inst::FST(Eq); 235 0x3: Inst::FSTP(Eq); --- 97 unchanged lines hidden --- | 237 default: Inst::FLD(Mq); 238 } 239 0x1: decode MODRM_MOD { 240 0x3: Inst::UD2(); 241 default: fisttp(); 242 } 243 0x2: Inst::FST(Eq); 244 0x3: Inst::FSTP(Eq); --- 97 unchanged lines hidden --- |