unimp.isa (4276:f0030662ee2a) unimp.isa (4679:0b39fa8f5eb8)
1// -*- mode:c++ -*-
2
3// Copyright (c) 2007 The Hewlett-Packard Development Company
4// All rights reserved.
5//
6// Redistribution and use of this software in source and binary forms,
7// with or without modification, are permitted provided that the
8// following conditions are met:

--- 54 unchanged lines hidden (view full) ---

63output header {{
64 /**
65 * Static instruction class for unimplemented instructions that
66 * cause simulator termination. Note that these are recognized
67 * (legal) instructions that the simulator does not support; the
68 * 'Unknown' class is used for unrecognized/illegal instructions.
69 * This is a leaf class.
70 */
1// -*- mode:c++ -*-
2
3// Copyright (c) 2007 The Hewlett-Packard Development Company
4// All rights reserved.
5//
6// Redistribution and use of this software in source and binary forms,
7// with or without modification, are permitted provided that the
8// following conditions are met:

--- 54 unchanged lines hidden (view full) ---

63output header {{
64 /**
65 * Static instruction class for unimplemented instructions that
66 * cause simulator termination. Note that these are recognized
67 * (legal) instructions that the simulator does not support; the
68 * 'Unknown' class is used for unrecognized/illegal instructions.
69 * This is a leaf class.
70 */
71 class FailUnimplemented : public X86StaticInst
71 class FailUnimplemented : public X86ISA::X86StaticInst
72 {
73 public:
74 /// Constructor
75 FailUnimplemented(const char *_mnemonic, ExtMachInst _machInst)
72 {
73 public:
74 /// Constructor
75 FailUnimplemented(const char *_mnemonic, ExtMachInst _machInst)
76 : X86StaticInst(_mnemonic, _machInst, No_OpClass)
76 : X86ISA::X86StaticInst(_mnemonic, _machInst, No_OpClass)
77 {
78 // don't call execute() (which panics) if we're on a
79 // speculative path
80 flags[IsNonSpeculative] = true;
81 }
82
83 %(BasicExecDeclare)s
84

--- 5 unchanged lines hidden (view full) ---

90 * Base class for unimplemented instructions that cause a warning
91 * to be printed (but do not terminate simulation). This
92 * implementation is a little screwy in that it will print a
93 * warning for each instance of a particular unimplemented machine
94 * instruction, not just for each unimplemented opcode. Should
95 * probably make the 'warned' flag a static member of the derived
96 * class.
97 */
77 {
78 // don't call execute() (which panics) if we're on a
79 // speculative path
80 flags[IsNonSpeculative] = true;
81 }
82
83 %(BasicExecDeclare)s
84

--- 5 unchanged lines hidden (view full) ---

90 * Base class for unimplemented instructions that cause a warning
91 * to be printed (but do not terminate simulation). This
92 * implementation is a little screwy in that it will print a
93 * warning for each instance of a particular unimplemented machine
94 * instruction, not just for each unimplemented opcode. Should
95 * probably make the 'warned' flag a static member of the derived
96 * class.
97 */
98 class WarnUnimplemented : public X86StaticInst
98 class WarnUnimplemented : public X86ISA::X86StaticInst
99 {
100 private:
101 /// Have we warned on this instruction yet?
102 mutable bool warned;
103
104 public:
105 /// Constructor
106 WarnUnimplemented(const char *_mnemonic, ExtMachInst _machInst)
99 {
100 private:
101 /// Have we warned on this instruction yet?
102 mutable bool warned;
103
104 public:
105 /// Constructor
106 WarnUnimplemented(const char *_mnemonic, ExtMachInst _machInst)
107 : X86StaticInst(_mnemonic, _machInst, No_OpClass), warned(false)
107 : X86ISA::X86StaticInst(_mnemonic, _machInst, No_OpClass), warned(false)
108 {
109 // don't call execute() (which panics) if we're on a
110 // speculative path
111 flags[IsNonSpeculative] = true;
112 }
113
114 %(BasicExecDeclare)s
115

--- 59 unchanged lines hidden ---
108 {
109 // don't call execute() (which panics) if we're on a
110 // speculative path
111 flags[IsNonSpeculative] = true;
112 }
113
114 %(BasicExecDeclare)s
115

--- 59 unchanged lines hidden ---