seqop.isa (7620:3d8a23caa1ef) seqop.isa (7626:bdd926760470)
1// Copyright (c) 2008 The Hewlett-Packard Development Company
2// All rights reserved.
3//
4// The license below extends only to copyright in the software and shall
5// not be construed as granting a license to any other intellectual
6// property including but not limited to intellectual property relating
7// to a hardware implementation of the functionality of the software
8// licensed hereunder. You may use the software subject to the license

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

54 std::string generateDisassembly(Addr pc,
55 const SymbolTable *symtab) const;
56 };
57}};
58
59def template SeqOpDeclare {{
60 class %(class_name)s : public %(base_class)s
61 {
1// Copyright (c) 2008 The Hewlett-Packard Development Company
2// All rights reserved.
3//
4// The license below extends only to copyright in the software and shall
5// not be construed as granting a license to any other intellectual
6// property including but not limited to intellectual property relating
7// to a hardware implementation of the functionality of the software
8// licensed hereunder. You may use the software subject to the license

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

54 std::string generateDisassembly(Addr pc,
55 const SymbolTable *symtab) const;
56 };
57}};
58
59def template SeqOpDeclare {{
60 class %(class_name)s : public %(base_class)s
61 {
62 private:
63 void buildMe();
64 public:
65 %(class_name)s(ExtMachInst _machInst, const char * instMnem,
66 uint64_t setFlags, uint16_t _target, uint8_t _cc);
67
62 public:
63 %(class_name)s(ExtMachInst _machInst, const char * instMnem,
64 uint64_t setFlags, uint16_t _target, uint8_t _cc);
65
68 %(class_name)s(ExtMachInst _machInst, const char * instMnem,
69 uint16_t _target, uint8_t _cc);
70
71 %(BasicExecDeclare)s
72 };
73}};
74
75def template SeqOpExecute {{
76 Fault %(class_name)s::execute(%(CPU_exec_context)s *xc,
77 Trace::InstRecord *traceData) const
78 {

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

86 %(op_wb)s;
87 return NoFault;
88 }
89}};
90
91output decoder {{
92 inline SeqOpBase::SeqOpBase(
93 ExtMachInst machInst, const char * mnemonic, const char * instMnem,
66 %(BasicExecDeclare)s
67 };
68}};
69
70def template SeqOpExecute {{
71 Fault %(class_name)s::execute(%(CPU_exec_context)s *xc,
72 Trace::InstRecord *traceData) const
73 {

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

81 %(op_wb)s;
82 return NoFault;
83 }
84}};
85
86output decoder {{
87 inline SeqOpBase::SeqOpBase(
88 ExtMachInst machInst, const char * mnemonic, const char * instMnem,
94 uint16_t _target, uint8_t _cc) :
95 X86MicroopBase(machInst, mnemonic, instMnem, 0, No_OpClass),
96 target(_target), cc(_cc)
97 {
98 }
99
100 inline SeqOpBase::SeqOpBase(
101 ExtMachInst machInst, const char * mnemonic, const char * instMnem,
102 uint64_t setFlags, uint16_t _target, uint8_t _cc) :
103 X86MicroopBase(machInst, mnemonic, instMnem, setFlags, No_OpClass),
104 target(_target), cc(_cc)
105 {
106 }
107}};
108
109def template SeqOpConstructor {{
89 uint64_t setFlags, uint16_t _target, uint8_t _cc) :
90 X86MicroopBase(machInst, mnemonic, instMnem, setFlags, No_OpClass),
91 target(_target), cc(_cc)
92 {
93 }
94}};
95
96def template SeqOpConstructor {{
110
111 inline void %(class_name)s::buildMe()
112 {
113 %(constructor)s;
114 }
115
116 inline %(class_name)s::%(class_name)s(
117 ExtMachInst machInst, const char * instMnem,
97 inline %(class_name)s::%(class_name)s(
98 ExtMachInst machInst, const char * instMnem,
118 uint16_t _target, uint8_t _cc) :
119 %(base_class)s(machInst, "%(mnemonic)s", instMnem, _target, _cc)
120 {
121 buildMe();
122 }
123
124 inline %(class_name)s::%(class_name)s(
125 ExtMachInst machInst, const char * instMnem,
126 uint64_t setFlags, uint16_t _target, uint8_t _cc) :
127 %(base_class)s(machInst, "%(mnemonic)s", instMnem,
128 setFlags, _target, _cc)
129 {
99 uint64_t setFlags, uint16_t _target, uint8_t _cc) :
100 %(base_class)s(machInst, "%(mnemonic)s", instMnem,
101 setFlags, _target, _cc)
102 {
130 buildMe();
103 %(constructor)s;
131 }
132}};
133
134output decoder {{
135 std::string SeqOpBase::generateDisassembly(Addr pc,
136 const SymbolTable *symtab) const
137 {
138 std::stringstream response;

--- 89 unchanged lines hidden ---
104 }
105}};
106
107output decoder {{
108 std::string SeqOpBase::generateDisassembly(Addr pc,
109 const SymbolTable *symtab) const
110 {
111 std::stringstream response;

--- 89 unchanged lines hidden ---