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// |
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 |
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(); |
180 default: Inst::FILD(Md); // 32-bit int |
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 { |
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); |
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(); |
339 default: Inst::FILD(Mw); // 16-bit int |
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 { |
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 |
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} |