macromem.isa (7134:60fe8a00b36e) macromem.isa (7169:6cc400372260)
1// -*- mode:c++ -*-
2
3// Copyright (c) 2010 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

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

111 */
112class %(class_name)s : public %(base_class)s
113{
114 public:
115 // Constructor
116 %(class_name)s(ExtMachInst machInst, IntRegIndex rn,
117 bool index, bool up, bool user, bool writeback, bool load,
118 uint32_t reglist);
1// -*- mode:c++ -*-
2
3// Copyright (c) 2010 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

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

111 */
112class %(class_name)s : public %(base_class)s
113{
114 public:
115 // Constructor
116 %(class_name)s(ExtMachInst machInst, IntRegIndex rn,
117 bool index, bool up, bool user, bool writeback, bool load,
118 uint32_t reglist);
119 %(BasicExecDeclare)s
119 %(BasicExecPanic)s
120};
121}};
122
123def template MacroMemConstructor {{
124inline %(class_name)s::%(class_name)s(ExtMachInst machInst, IntRegIndex rn,
125 bool index, bool up, bool user, bool writeback, bool load,
126 uint32_t reglist)
127 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s)

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

187 } else {
188 lastUop = new MicroSubiUop(machInst, rn, rn, ones * 4);
189 }
190 }
191 lastUop->setLastMicroop();
192}
193
194}};
120};
121}};
122
123def template MacroMemConstructor {{
124inline %(class_name)s::%(class_name)s(ExtMachInst machInst, IntRegIndex rn,
125 bool index, bool up, bool user, bool writeback, bool load,
126 uint32_t reglist)
127 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s)

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

187 } else {
188 lastUop = new MicroSubiUop(machInst, rn, rn, ones * 4);
189 }
190 }
191 lastUop->setLastMicroop();
192}
193
194}};
195
196def template MacroMemExecute {{
197Fault %(class_name)s::execute(%(CPU_exec_context)s *xc, Trace::InstRecord *traceData) const
198{
199 Fault fault = NoFault;
200
201 %(fp_enable_check)s;
202 %(op_decl)s;
203 %(op_rd)s;
204 %(code)s;
205 if (fault == NoFault)
206 {
207 %(op_wb)s;
208 }
209
210 return fault;
211}
212}};