x87.isa (10784:2f1a0f6d5d77) | x87.isa (11159:9459593cb649) |
---|---|
1// Copyright (c) 2007 The Hewlett-Packard Development Company 2// Copyright (c) 2012-13 Mark D. Hill and David A. Wood | 1// Copyright (c) 2007 The Hewlett-Packard Development Company 2// Copyright (c) 2012-13 Mark D. Hill and David A. Wood |
3// Copyright (c) 2015 Advanced Micro Devices, Inc. 4// |
|
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 --- 20 unchanged lines hidden (view full) --- 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 | 5// All rights reserved. 6// 7// The license below extends only to copyright in the software and shall 8// not be construed as granting a license to any other intellectual 9// property including but not limited to intellectual property relating 10// to a hardware implementation of the functionality of the software 11// licensed hereunder. You may use the software subject to the license 12// terms below provided that you ensure that this notice is replicated --- 20 unchanged lines hidden (view full) --- 33// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 34// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 35// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 36// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 37// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38// 39// Authors: Gabe Black 40// Nilay Vaish |
41// Steve Reinhardt |
|
39 40format WarnUnimpl { 41 0x1B: decode OPCODE_OP_BOTTOM3 { 42 0x0: decode MODRM_REG { 43 0x0: decode MODRM_MOD { 44 0x3: Inst::FADD1(Eq); 45 // 32-bit memory operand 46 default: Inst::FADD1(Md); --- 122 unchanged lines hidden (view full) --- 169 0x3: Inst::UD2(); 170 default: fidivr(); 171 } 172 } 173 //0x3: esc3(); 174 0x3: decode MODRM_REG { 175 0x0: decode MODRM_MOD { 176 0x3: fcmovnb(); | 42 43format WarnUnimpl { 44 0x1B: decode OPCODE_OP_BOTTOM3 { 45 0x0: decode MODRM_REG { 46 0x0: decode MODRM_MOD { 47 0x3: Inst::FADD1(Eq); 48 // 32-bit memory operand 49 default: Inst::FADD1(Md); --- 122 unchanged lines hidden (view full) --- 172 0x3: Inst::UD2(); 173 default: fidivr(); 174 } 175 } 176 //0x3: esc3(); 177 0x3: decode MODRM_REG { 178 0x0: decode MODRM_MOD { 179 0x3: fcmovnb(); |
177 default: fild(); | 180 default: Inst::FILD(Md); // 32-bit int |
178 } 179 0x1: decode MODRM_MOD { 180 0x3: fcmovne(); 181 default: fisttp(); 182 } 183 0x2: decode MODRM_MOD { 184 0x3: fcmovnbe(); 185 default: fist(); --- 6 unchanged lines hidden (view full) --- 192 0x3: decode MODRM_RM { 193 0x2: fnclex(); 194 0x3: fninit(); 195 default: Inst::UD2(); 196 } 197 default: Inst::UD2(); 198 } 199 0x5: decode MODRM_MOD { | 181 } 182 0x1: decode MODRM_MOD { 183 0x3: fcmovne(); 184 default: fisttp(); 185 } 186 0x2: decode MODRM_MOD { 187 0x3: fcmovnbe(); 188 default: fist(); --- 6 unchanged lines hidden (view full) --- 195 0x3: decode MODRM_RM { 196 0x2: fnclex(); 197 0x3: fninit(); 198 default: Inst::UD2(); 199 } 200 default: Inst::UD2(); 201 } 202 0x5: decode MODRM_MOD { |
200 0x3: fucomi(); | 203 // 'R' insists on having a size qualifier, so I picked 'q', 204 // but I don't think it has any effect 205 0x3: Inst::FUCOMI(Rq); |
201 // 80-bit load 202 default: Inst::FLD80(M); 203 } 204 0x6: decode MODRM_MOD { 205 0x3: fcomi(); 206 default: Inst::UD2(); 207 } 208 0x7: decode MODRM_MOD { --- 117 unchanged lines hidden (view full) --- 326 } 327 } 328 //0x7: esc7(); 329 0x7: decode MODRM_REG { 330 0x0: decode MODRM_MOD { 331 // The ffreep instruction isn't entirely real. It should work 332 // the same as ffree but then also pop the register stack. 333 0x3: ffreep(); | 206 // 80-bit load 207 default: Inst::FLD80(M); 208 } 209 0x6: decode MODRM_MOD { 210 0x3: fcomi(); 211 default: Inst::UD2(); 212 } 213 0x7: decode MODRM_MOD { --- 117 unchanged lines hidden (view full) --- 331 } 332 } 333 //0x7: esc7(); 334 0x7: decode MODRM_REG { 335 0x0: decode MODRM_MOD { 336 // The ffreep instruction isn't entirely real. It should work 337 // the same as ffree but then also pop the register stack. 338 0x3: ffreep(); |
334 default: fild(); | 339 default: Inst::FILD(Mw); // 16-bit int |
335 } 336 0x1: decode MODRM_MOD { 337 0x3: Inst::UD2(); 338 default: fisttp(); 339 } 340 0x2: decode MODRM_MOD { 341 0x3: Inst::UD2(); 342 default: fist(); --- 5 unchanged lines hidden (view full) --- 348 0x4: decode MODRM_MOD { 349 0x3: decode MODRM_RM { 350 0x0: Inst::FNSTSW(rAw); 351 default: Inst::UD2(); 352 } 353 default: fbld(); 354 } 355 0x5: decode MODRM_MOD { | 340 } 341 0x1: decode MODRM_MOD { 342 0x3: Inst::UD2(); 343 default: fisttp(); 344 } 345 0x2: decode MODRM_MOD { 346 0x3: Inst::UD2(); 347 default: fist(); --- 5 unchanged lines hidden (view full) --- 353 0x4: decode MODRM_MOD { 354 0x3: decode MODRM_RM { 355 0x0: Inst::FNSTSW(rAw); 356 default: Inst::UD2(); 357 } 358 default: fbld(); 359 } 360 0x5: decode MODRM_MOD { |
356 0x3: fucomip(); 357 default: fild(); | 361 // 'R' insists on having a size qualifier, so I picked 'q', 362 // but I don't think it has any effect 363 0x3: Inst::FUCOMIP(Rq); 364 default: Inst::FILD(Mq); // 64-bit int |
358 } 359 0x6: decode MODRM_MOD { 360 0x3: fcomip(); 361 default: fbstp(); 362 } 363 0x7: decode MODRM_MOD { 364 0x3: Inst::UD2(); 365 default: fistp(); 366 } 367 } 368 } 369} | 365 } 366 0x6: decode MODRM_MOD { 367 0x3: fcomip(); 368 default: fbstp(); 369 } 370 0x7: decode MODRM_MOD { 371 0x3: Inst::UD2(); 372 default: fistp(); 373 } 374 } 375 } 376} |