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 --- |