branch.isa (10334:5e424aa952c5) branch.isa (12236:126ac9da6050)
1// -*- mode:c++ -*-
2
3// Copyright (c) 2010, 2014 ARM Limited
4// All rights reserved
5//
6// The license below extends only to copyright in the software and shall
7// not be construed as granting a license to any other intellectual
8// property including but not limited to intellectual property relating

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

38// Authors: Gabe Black
39
40def template BranchImmDeclare {{
41class %(class_name)s : public %(base_class)s
42{
43 public:
44 // Constructor
45 %(class_name)s(ExtMachInst machInst, int32_t _imm);
1// -*- mode:c++ -*-
2
3// Copyright (c) 2010, 2014 ARM Limited
4// All rights reserved
5//
6// The license below extends only to copyright in the software and shall
7// not be construed as granting a license to any other intellectual
8// property including but not limited to intellectual property relating

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

38// Authors: Gabe Black
39
40def template BranchImmDeclare {{
41class %(class_name)s : public %(base_class)s
42{
43 public:
44 // Constructor
45 %(class_name)s(ExtMachInst machInst, int32_t _imm);
46 %(BasicExecDeclare)s
46 Fault execute(ExecContext *, Trace::InstRecord *) const;
47};
48}};
49
50def template BranchImmConstructor {{
51 %(class_name)s::%(class_name)s(ExtMachInst machInst,
52 int32_t _imm)
53 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s, _imm)
54 {

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

67
68def template BranchImmCondDeclare {{
69class %(class_name)s : public %(base_class)s
70{
71 public:
72 // Constructor
73 %(class_name)s(ExtMachInst machInst, int32_t _imm,
74 ConditionCode _condCode);
47};
48}};
49
50def template BranchImmConstructor {{
51 %(class_name)s::%(class_name)s(ExtMachInst machInst,
52 int32_t _imm)
53 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s, _imm)
54 {

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

67
68def template BranchImmCondDeclare {{
69class %(class_name)s : public %(base_class)s
70{
71 public:
72 // Constructor
73 %(class_name)s(ExtMachInst machInst, int32_t _imm,
74 ConditionCode _condCode);
75 %(BasicExecDeclare)s
75 Fault execute(ExecContext *, Trace::InstRecord *) const;
76 ArmISA::PCState branchTarget(const ArmISA::PCState &branchPC) const;
77
78 /// Explicitly import the otherwise hidden branchTarget
79 using StaticInst::branchTarget;
80};
81}};
82
83def template BranchImmCondConstructor {{

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

100}};
101
102def template BranchRegDeclare {{
103class %(class_name)s : public %(base_class)s
104{
105 public:
106 // Constructor
107 %(class_name)s(ExtMachInst machInst, IntRegIndex _op1);
76 ArmISA::PCState branchTarget(const ArmISA::PCState &branchPC) const;
77
78 /// Explicitly import the otherwise hidden branchTarget
79 using StaticInst::branchTarget;
80};
81}};
82
83def template BranchImmCondConstructor {{

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

100}};
101
102def template BranchRegDeclare {{
103class %(class_name)s : public %(base_class)s
104{
105 public:
106 // Constructor
107 %(class_name)s(ExtMachInst machInst, IntRegIndex _op1);
108 %(BasicExecDeclare)s
108 Fault execute(ExecContext *, Trace::InstRecord *) const;
109};
110}};
111
112def template BranchRegConstructor {{
113 %(class_name)s::%(class_name)s(ExtMachInst machInst,
114 IntRegIndex _op1)
115 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s, _op1)
116 {

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

130
131def template BranchRegCondDeclare {{
132class %(class_name)s : public %(base_class)s
133{
134 public:
135 // Constructor
136 %(class_name)s(ExtMachInst machInst, IntRegIndex _op1,
137 ConditionCode _condCode);
109};
110}};
111
112def template BranchRegConstructor {{
113 %(class_name)s::%(class_name)s(ExtMachInst machInst,
114 IntRegIndex _op1)
115 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s, _op1)
116 {

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

130
131def template BranchRegCondDeclare {{
132class %(class_name)s : public %(base_class)s
133{
134 public:
135 // Constructor
136 %(class_name)s(ExtMachInst machInst, IntRegIndex _op1,
137 ConditionCode _condCode);
138 %(BasicExecDeclare)s
138 Fault execute(ExecContext *, Trace::InstRecord *) const;
139};
140}};
141
142def template BranchRegCondConstructor {{
143 %(class_name)s::%(class_name)s(ExtMachInst machInst,
144 IntRegIndex _op1,
145 ConditionCode _condCode)
146 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s,

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

162
163def template BranchRegRegDeclare {{
164class %(class_name)s : public %(base_class)s
165{
166 public:
167 // Constructor
168 %(class_name)s(ExtMachInst machInst,
169 IntRegIndex _op1, IntRegIndex _op2);
139};
140}};
141
142def template BranchRegCondConstructor {{
143 %(class_name)s::%(class_name)s(ExtMachInst machInst,
144 IntRegIndex _op1,
145 ConditionCode _condCode)
146 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s,

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

162
163def template BranchRegRegDeclare {{
164class %(class_name)s : public %(base_class)s
165{
166 public:
167 // Constructor
168 %(class_name)s(ExtMachInst machInst,
169 IntRegIndex _op1, IntRegIndex _op2);
170 %(BasicExecDeclare)s
170 Fault execute(ExecContext *, Trace::InstRecord *) const;
171};
172}};
173
174def template BranchTableDeclare {{
175class %(class_name)s : public %(base_class)s
176{
177 public:
178 // Constructor
179 %(class_name)s(ExtMachInst machInst,
180 IntRegIndex _op1, IntRegIndex _op2);
171};
172}};
173
174def template BranchTableDeclare {{
175class %(class_name)s : public %(base_class)s
176{
177 public:
178 // Constructor
179 %(class_name)s(ExtMachInst machInst,
180 IntRegIndex _op1, IntRegIndex _op2);
181 %(BasicExecDeclare)s
182
183 %(InitiateAccDeclare)s
184
185 %(CompleteAccDeclare)s
181 Fault execute(ExecContext *, Trace::InstRecord *) const;
182 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const;
183 Fault completeAcc(PacketPtr, ExecContext *, Trace::InstRecord *) const;
186};
187}};
188
189def template BranchRegRegConstructor {{
190 %(class_name)s::%(class_name)s(ExtMachInst machInst,
191 IntRegIndex _op1,
192 IntRegIndex _op2)
193 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s, _op1, _op2)

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

206
207def template BranchImmRegDeclare {{
208class %(class_name)s : public %(base_class)s
209{
210 public:
211 // Constructor
212 %(class_name)s(ExtMachInst machInst,
213 int32_t imm, IntRegIndex _op1);
184};
185}};
186
187def template BranchRegRegConstructor {{
188 %(class_name)s::%(class_name)s(ExtMachInst machInst,
189 IntRegIndex _op1,
190 IntRegIndex _op2)
191 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s, _op1, _op2)

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

204
205def template BranchImmRegDeclare {{
206class %(class_name)s : public %(base_class)s
207{
208 public:
209 // Constructor
210 %(class_name)s(ExtMachInst machInst,
211 int32_t imm, IntRegIndex _op1);
214 %(BasicExecDeclare)s
212 Fault execute(ExecContext *, Trace::InstRecord *) const;
215 ArmISA::PCState branchTarget(const ArmISA::PCState &branchPC) const;
216
217 /// Explicitly import the otherwise hidden branchTarget
218 using StaticInst::branchTarget;
219};
220}};
221
222// Only used by CBNZ, CBZ which is conditional based on

--- 28 unchanged lines hidden ---
213 ArmISA::PCState branchTarget(const ArmISA::PCState &branchPC) const;
214
215 /// Explicitly import the otherwise hidden branchTarget
216 using StaticInst::branchTarget;
217};
218}};
219
220// Only used by CBNZ, CBZ which is conditional based on

--- 28 unchanged lines hidden ---