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