43#ifndef __ARCH_ARM_REGS_INT_HH__
44#define __ARCH_ARM_REGS_INT_HH__
49#include "debug/IntRegs.hh"
61 SignedBitfield<31, 16>
sh1;
62 SignedBitfield<15, 0>
sh0;
64 SignedBitfield<31, 0>
sw;
184inline constexpr RegId
447 assert(
index < NumArchRegs);
458static inline const RegId &
461 assert(
index < NumArchRegs);
472static inline const RegId &
475 assert(
index < NumArchRegs);
486static inline const RegId &
489 assert(
index < NumArchRegs);
500static inline const RegId &
503 assert(
index < NumArchRegs);
514static inline const RegId &
517 assert(
index < NumArchRegs);
528static inline const RegId &
531 assert(
index < NumArchRegs);
542static inline const RegId &
545 assert(
index < NumArchRegs);
556static inline const RegId &
559 assert(
index < NumArchRegs);
568 assert(
reg < NumArchRegs);
574static inline const RegId &
598 panic(
"%d: Flattening into an unknown mode: reg:%#x mode:%#x\n",
RegId flatten(const BaseISA &isa, const RegId &id) const override
Flatten register id id using information in the ISA object isa.
Register ID: describe an architectural register with its class and index.
#define EndBitUnion(name)
This closes off the class and union started by the above macro.
#define panic(...)
This implements a cprintf based panic() function.
static const RegId & und(unsigned index)
const RegId RegMap[NumArchRegs]
static const RegId & mon(unsigned index)
static const RegId & hyp(unsigned index)
static const RegId & usr(unsigned index)
static const RegId & fiq(unsigned index)
static const RegId & irq(unsigned index)
static const RegId & abt(unsigned index)
static int regInMode(OperatingMode mode, int reg)
static const RegId & svc(unsigned index)
static const unsigned regsPerMode
constexpr auto & SyscallSuccessReg
static bool isSP(RegIndex reg)
constexpr RegClass flatIntRegClass
constexpr auto & ArgumentReg0
static bool couldBeZero(RegIndex reg)
static bool couldBeSP(RegIndex reg)
constexpr auto & ArgumentReg2
constexpr auto & ReturnValueReg
SignedBitfield< 31, 0 > sw
constexpr auto & SyscallPseudoReturnReg
constexpr auto & StackPointerReg
constexpr auto & ArgumentReg1
static bool isZero(RegIndex reg)
constexpr auto & ReturnAddressReg
static RegIndex makeSP(RegIndex reg)
static const RegId & flattenIntRegModeIndex(int reg)
constexpr auto & SyscallNumReg
constexpr auto & ReturnValueReg1
constexpr size_t NumArgumentRegs
constexpr RegClass intRegClass
constexpr size_t NumArgumentRegs64
SignedBitfield< 31, 16 > sh1
static RegIndex makeZero(RegIndex reg)
SignedBitfield< 15, 0 > sh0
constexpr IntRegClassOps intRegClassOps
constexpr auto & FramePointerReg
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
Tick curTick()
The universal simulation clock.
constexpr char IntRegClassName[]
@ IntRegClass
Integer register.