macromem.hh (10037:5cac77888310) macromem.hh (10346:d96b61d843b2)
1/*
1/*
2 * Copyright (c) 2010-2013 ARM Limited
2 * Copyright (c) 2010-2014 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
9 * licensed hereunder. You may use the software subject to the license
10 * terms below provided that you ensure that this notice is replicated

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

390 : MicroIntImmOp(mnem, machInst, __opClass, _ura, _urb, _imm),
391 up(_up), memAccessFlags(TLB::MustBeOne | TLB::AlignWord)
392 {
393 }
394
395 std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const;
396};
397
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
9 * licensed hereunder. You may use the software subject to the license
10 * terms below provided that you ensure that this notice is replicated

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

390 : MicroIntImmOp(mnem, machInst, __opClass, _ura, _urb, _imm),
391 up(_up), memAccessFlags(TLB::MustBeOne | TLB::AlignWord)
392 {
393 }
394
395 std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const;
396};
397
398class MicroMemPairOp : public MicroOp
399{
400 protected:
401 RegIndex dest, dest2, urb;
402 bool up;
403 int32_t imm;
404 unsigned memAccessFlags;
405
406 MicroMemPairOp(const char *mnem, ExtMachInst machInst, OpClass __opClass,
407 RegIndex _dreg1, RegIndex _dreg2, RegIndex _base,
408 bool _up, uint8_t _imm)
409 : MicroOp(mnem, machInst, __opClass),
410 dest(_dreg1), dest2(_dreg2), urb(_base), up(_up), imm(_imm),
411 memAccessFlags(TLB::MustBeOne | TLB::AlignWord)
412 {
413 }
414
415 std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const;
416};
417
398/**
399 * Base class for microcoded integer memory instructions.
400 */
401class MacroMemOp : public PredMacroOp
402{
403 protected:
404 MacroMemOp(const char *mnem, ExtMachInst machInst, OpClass __opClass,
405 IntRegIndex rn, bool index, bool up, bool user,

--- 112 unchanged lines hidden ---
418/**
419 * Base class for microcoded integer memory instructions.
420 */
421class MacroMemOp : public PredMacroOp
422{
423 protected:
424 MacroMemOp(const char *mnem, ExtMachInst machInst, OpClass __opClass,
425 IntRegIndex rn, bool index, bool up, bool user,

--- 112 unchanged lines hidden ---