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 --- 53 unchanged lines hidden (view full) --- 62 63 bool arm_add_carry(int32_t result, int32_t lhs, int32_t rhs) const; 64 bool arm_sub_carry(int32_t result, int32_t lhs, int32_t rhs) const; 65 66 bool arm_add_overflow(int32_t result, int32_t lhs, int32_t rhs) const; 67 bool arm_sub_overflow(int32_t result, int32_t lhs, int32_t rhs) const; 68 69 // Constructor |
70 ArmStaticInstBase(const char *mnem, ExtMachInst _machInst, 71 OpClass __opClass) |
72 : StaticInst(mnem, _machInst, __opClass) 73 { 74 } 75 76 /// Print a register name for disassembly given the unique 77 /// dependence tag number (FP or int). 78 void printReg(std::ostream &os, int reg) const; 79 void printMnemonic(std::ostream &os, --- 66 unchanged lines hidden (view full) --- 146 xc->setNextPC((xc->readNextPC() & PcModeMask) | 147 (val & ~PcModeMask)); 148 } 149}; 150 151class ArmStaticInst : public ArmStaticInstBase 152{ 153 protected: |
154 ArmStaticInst(const char *mnem, ExtMachInst _machInst, OpClass __opClass) |
155 : ArmStaticInstBase(mnem, _machInst, __opClass) 156 { 157 } 158 159 template<class XC> 160 static void 161 setNextPC(XC *xc, Addr val) 162 { 163 xc->setNextPC((xc->readNextPC() & PcModeMask) | 164 (val & ~PcModeMask)); 165 } 166}; 167 168class ArmInterWorking : public ArmStaticInstBase 169{ 170 protected: |
171 ArmInterWorking(const char *mnem, ExtMachInst _machInst, OpClass __opClass) |
172 : ArmStaticInstBase(mnem, _machInst, __opClass) 173 { 174 } 175 176 template<class XC> 177 static void 178 setNextPC(XC *xc, Addr val) 179 { --- 29 unchanged lines hidden --- |