summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/arch/arm/insts/static_inst.hh23
1 files changed, 12 insertions, 11 deletions
diff --git a/src/arch/arm/insts/static_inst.hh b/src/arch/arm/insts/static_inst.hh
index b0eb1a6e9..5a1993b86 100644
--- a/src/arch/arm/insts/static_inst.hh
+++ b/src/arch/arm/insts/static_inst.hh
@@ -47,6 +47,7 @@
namespace ArmISA
{
+
class ArmStaticInst : public StaticInst
{
protected:
@@ -61,7 +62,7 @@ class ArmStaticInst : public StaticInst
uint32_t type, uint32_t cfval) const;
template<int width>
- static bool
+ static inline bool
saturateOp(int32_t &res, int64_t op1, int64_t op2, bool sub=false)
{
int64_t midRes = sub ? (op1 - op2) : (op1 + op2);
@@ -77,7 +78,7 @@ class ArmStaticInst : public StaticInst
}
}
- static bool
+ static inline bool
satInt(int32_t &res, int64_t op, int width)
{
width--;
@@ -94,7 +95,7 @@ class ArmStaticInst : public StaticInst
}
template<int width>
- static bool
+ static inline bool
uSaturateOp(uint32_t &res, int64_t op1, int64_t op2, bool sub=false)
{
int64_t midRes = sub ? (op1 - op2) : (op1 + op2);
@@ -110,7 +111,7 @@ class ArmStaticInst : public StaticInst
}
}
- static bool
+ static inline bool
uSatInt(int32_t &res, int64_t op, int width)
{
if (op >= (LL(1) << width)) {
@@ -154,7 +155,7 @@ class ArmStaticInst : public StaticInst
std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const;
- static uint32_t
+ static inline uint32_t
cpsrWriteByInstr(CPSR cpsr, uint32_t val,
uint8_t byteMask, bool affectState, bool nmfi)
{
@@ -194,7 +195,7 @@ class ArmStaticInst : public StaticInst
return new_cpsr;
}
- static uint32_t
+ static inline uint32_t
spsrWriteByInstr(uint32_t spsr, uint32_t val,
uint8_t byteMask, bool affectState)
{
@@ -213,7 +214,7 @@ class ArmStaticInst : public StaticInst
}
template<class XC>
- static Addr
+ static inline Addr
readPC(XC *xc)
{
Addr pc = xc->readPC();
@@ -226,7 +227,7 @@ class ArmStaticInst : public StaticInst
// Perform an regular branch.
template<class XC>
- static void
+ static inline void
setNextPC(XC *xc, Addr val)
{
Addr npc = xc->readNextPC();
@@ -240,7 +241,7 @@ class ArmStaticInst : public StaticInst
}
template<class T>
- static T
+ static inline T
cSwap(T val, bool big)
{
if (big) {
@@ -252,7 +253,7 @@ class ArmStaticInst : public StaticInst
// Perform an interworking branch.
template<class XC>
- static void
+ static inline void
setIWNextPC(XC *xc, Addr val)
{
Addr stateBits = xc->readPC() & PcModeMask;
@@ -284,7 +285,7 @@ class ArmStaticInst : public StaticInst
// Perform an interworking branch in ARM mode, a regular branch
// otherwise.
template<class XC>
- static void
+ static inline void
setAIWNextPC(XC *xc, Addr val)
{
Addr stateBits = xc->readPC() & PcModeMask;