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();
177 default: fild();
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 {
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);
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
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
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}