mem.hh (8140:7449084b1612) mem.hh (12104:edd63f9c6184)
1/*
2 * Copyright (c) 2010 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

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

206
207 virtual void
208 printOffset(std::ostream &os) const
209 {}
210
211 virtual void
212 printDest(std::ostream &os) const
213 {
1/*
2 * Copyright (c) 2010 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

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

206
207 virtual void
208 printOffset(std::ostream &os) const
209 {}
210
211 virtual void
212 printDest(std::ostream &os) const
213 {
214 printReg(os, dest);
214 printIntReg(os, dest);
215 }
216
217 void printInst(std::ostream &os, AddrMode addrMode) const;
218};
219
220// The address is a base register plus an immediate.
221class MemoryImm : public Memory
222{

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

248 bool _add, int32_t _imm)
249 : MemoryImm(mnem, _machInst, __opClass, _dest, _base, _add, _imm),
250 result(_result)
251 {}
252
253 void
254 printDest(std::ostream &os) const
255 {
215 }
216
217 void printInst(std::ostream &os, AddrMode addrMode) const;
218};
219
220// The address is a base register plus an immediate.
221class MemoryImm : public Memory
222{

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

248 bool _add, int32_t _imm)
249 : MemoryImm(mnem, _machInst, __opClass, _dest, _base, _add, _imm),
250 result(_result)
251 {}
252
253 void
254 printDest(std::ostream &os) const
255 {
256 printReg(os, result);
256 printIntReg(os, result);
257 os << ", ";
258 MemoryImm::printDest(os);
259 }
260};
261
262// The address is a base register plus an immediate.
263class MemoryDImm : public MemoryImm
264{

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

272 dest2(_dest2)
273 {}
274
275 void
276 printDest(std::ostream &os) const
277 {
278 MemoryImm::printDest(os);
279 os << ", ";
257 os << ", ";
258 MemoryImm::printDest(os);
259 }
260};
261
262// The address is a base register plus an immediate.
263class MemoryDImm : public MemoryImm
264{

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

272 dest2(_dest2)
273 {}
274
275 void
276 printDest(std::ostream &os) const
277 {
278 MemoryImm::printDest(os);
279 os << ", ";
280 printReg(os, dest2);
280 printIntReg(os, dest2);
281 }
282};
283
284class MemoryExDImm : public MemoryDImm
285{
286 protected:
287 IntRegIndex result;
288
289 MemoryExDImm(const char *mnem, ExtMachInst _machInst, OpClass __opClass,
290 IntRegIndex _result, IntRegIndex _dest, IntRegIndex _dest2,
291 IntRegIndex _base, bool _add, int32_t _imm)
292 : MemoryDImm(mnem, _machInst, __opClass, _dest, _dest2,
293 _base, _add, _imm), result(_result)
294 {}
295
296 void
297 printDest(std::ostream &os) const
298 {
281 }
282};
283
284class MemoryExDImm : public MemoryDImm
285{
286 protected:
287 IntRegIndex result;
288
289 MemoryExDImm(const char *mnem, ExtMachInst _machInst, OpClass __opClass,
290 IntRegIndex _result, IntRegIndex _dest, IntRegIndex _dest2,
291 IntRegIndex _base, bool _add, int32_t _imm)
292 : MemoryDImm(mnem, _machInst, __opClass, _dest, _dest2,
293 _base, _add, _imm), result(_result)
294 {}
295
296 void
297 printDest(std::ostream &os) const
298 {
299 printReg(os, result);
299 printIntReg(os, result);
300 os << ", ";
301 MemoryDImm::printDest(os);
302 }
303};
304
305// The address is a shifted register plus an immediate
306class MemoryReg : public Memory
307{

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

336 dest2(_dest2)
337 {}
338
339 void
340 printDest(std::ostream &os) const
341 {
342 MemoryReg::printDest(os);
343 os << ", ";
300 os << ", ";
301 MemoryDImm::printDest(os);
302 }
303};
304
305// The address is a shifted register plus an immediate
306class MemoryReg : public Memory
307{

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

336 dest2(_dest2)
337 {}
338
339 void
340 printDest(std::ostream &os) const
341 {
342 MemoryReg::printDest(os);
343 os << ", ";
344 printReg(os, dest2);
344 printIntReg(os, dest2);
345 }
346};
347
348template<class Base>
349class MemoryOffset : public Base
350{
351 protected:
352 MemoryOffset(const char *mnem, ExtMachInst _machInst,

--- 147 unchanged lines hidden ---
345 }
346};
347
348template<class Base>
349class MemoryOffset : public Base
350{
351 protected:
352 MemoryOffset(const char *mnem, ExtMachInst _machInst,

--- 147 unchanged lines hidden ---