static_inst.cc (7094:4d878c4a0c2b) | static_inst.cc (7109:6670b4ab3abe) |
---|---|
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 --- 217 unchanged lines hidden (view full) --- 226} 227 228bool 229ArmStaticInstBase::arm_sub_overflow(int32_t result, int32_t lhs, int32_t rhs) const 230{ 231 return findOverflow(32, result, lhs, ~rhs); 232} 233 | 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 --- 217 unchanged lines hidden (view full) --- 226} 227 228bool 229ArmStaticInstBase::arm_sub_overflow(int32_t result, int32_t lhs, int32_t rhs) const 230{ 231 return findOverflow(32, result, lhs, ~rhs); 232} 233 |
234uint32_t 235ArmStaticInstBase::modified_imm(uint8_t ctrlImm, uint8_t dataImm) const 236{ 237 uint32_t bigData = dataImm; 238 uint32_t bigCtrl = ctrlImm; 239 if (bigCtrl < 4) { 240 switch (bigCtrl) { 241 case 0: 242 return bigData; 243 case 1: 244 return bigData | (bigData << 16); 245 case 2: 246 return (bigData << 8) | (bigData << 24); 247 case 3: 248 return (bigData << 0) | (bigData << 8) | 249 (bigData << 16) | (bigData << 24); 250 } 251 } 252 bigCtrl = (bigCtrl << 1) | ((bigData >> 7) & 0x1); 253 bigData |= (1 << 7); 254 return bigData << (32 - bigCtrl); 255} 256 |
|
234void 235ArmStaticInstBase::printReg(std::ostream &os, int reg) const 236{ 237 if (reg < FP_Base_DepTag) { 238 switch (reg) { 239 case PCReg: 240 ccprintf(os, "pc"); 241 break; --- 194 unchanged lines hidden --- | 257void 258ArmStaticInstBase::printReg(std::ostream &os, int reg) const 259{ 260 if (reg < FP_Base_DepTag) { 261 switch (reg) { 262 case PCReg: 263 ccprintf(os, "pc"); 264 break; --- 194 unchanged lines hidden --- |